mini_exiftool_vendored 8.9.7.v2 → 9.2.7.v1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1023) hide show
  1. checksums.yaml +7 -0
  2. data/lib/mini_exiftool_vendored.rb +1 -1
  3. data/lib/mini_exiftool_vendored/version.rb +2 -2
  4. data/mini_exiftool_vendored.gemspec +1 -1
  5. data/vendor/Image-ExifTool-9.27/Changes +6162 -0
  6. data/vendor/Image-ExifTool-9.27/MANIFEST +858 -0
  7. data/vendor/Image-ExifTool-9.27/META.yml +26 -0
  8. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/Makefile.PL +0 -0
  9. data/vendor/Image-ExifTool-9.27/README +227 -0
  10. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/arg_files}/exif2iptc.args +0 -0
  11. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/arg_files}/exif2xmp.args +0 -0
  12. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/arg_files}/gps2xmp.args +0 -0
  13. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/arg_files}/iptc2exif.args +0 -0
  14. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/arg_files}/iptc2xmp.args +0 -0
  15. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/arg_files}/iptcCore.args +0 -0
  16. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/arg_files}/pdf2xmp.args +0 -0
  17. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/arg_files}/xmp2exif.args +0 -0
  18. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/arg_files}/xmp2gps.args +0 -0
  19. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/arg_files}/xmp2iptc.args +0 -0
  20. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/arg_files}/xmp2pdf.args +0 -0
  21. data/vendor/Image-ExifTool-9.27/config_files/ExifTool_config +299 -0
  22. data/vendor/Image-ExifTool-9.27/config_files/convert_regions.config +81 -0
  23. data/vendor/Image-ExifTool-9.27/exiftool +5655 -0
  24. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/fmt_files}/gpx.fmt +0 -0
  25. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27/fmt_files}/gpx_wpt.fmt +0 -0
  26. data/vendor/Image-ExifTool-9.27/fmt_files/kml.fmt +53 -0
  27. data/vendor/Image-ExifTool-9.27/html/ExifTool.html +1951 -0
  28. data/vendor/Image-ExifTool-9.27/html/MIE1.1-20070121.pdf +0 -0
  29. data/vendor/Image-ExifTool-9.27/html/Shift.html +173 -0
  30. data/vendor/Image-ExifTool-9.27/html/TagNames/AFCP.html +49 -0
  31. data/vendor/Image-ExifTool-9.27/html/TagNames/AIFF.html +146 -0
  32. data/vendor/Image-ExifTool-9.27/html/TagNames/APE.html +149 -0
  33. data/vendor/Image-ExifTool-9.27/html/TagNames/APP12.html +188 -0
  34. data/vendor/Image-ExifTool-9.27/html/TagNames/ASF.html +1075 -0
  35. data/vendor/Image-ExifTool-9.27/html/TagNames/BMP.html +110 -0
  36. data/vendor/Image-ExifTool-9.27/html/TagNames/Canon.html +8021 -0
  37. data/vendor/Image-ExifTool-9.27/html/TagNames/CanonCustom.html +2044 -0
  38. data/vendor/Image-ExifTool-9.27/html/TagNames/CanonRaw.html +561 -0
  39. data/vendor/Image-ExifTool-9.27/html/TagNames/CanonVRD.html +1222 -0
  40. data/vendor/Image-ExifTool-9.27/html/TagNames/Casio.html +1569 -0
  41. data/vendor/Image-ExifTool-9.27/html/TagNames/Composite.html +659 -0
  42. data/vendor/Image-ExifTool-9.27/html/TagNames/DICOM.html +15762 -0
  43. data/vendor/Image-ExifTool-9.27/html/TagNames/DNG.html +273 -0
  44. data/vendor/Image-ExifTool-9.27/html/TagNames/DV.html +75 -0
  45. data/vendor/Image-ExifTool-9.27/html/TagNames/DarwinCore.html +1445 -0
  46. data/vendor/Image-ExifTool-9.27/html/TagNames/DjVu.html +312 -0
  47. data/vendor/Image-ExifTool-9.27/html/TagNames/EXE.html +697 -0
  48. data/vendor/Image-ExifTool-9.27/html/TagNames/EXIF.html +3244 -0
  49. data/vendor/Image-ExifTool-9.27/html/TagNames/Extra.html +300 -0
  50. data/vendor/Image-ExifTool-9.27/html/TagNames/FLAC.html +183 -0
  51. data/vendor/Image-ExifTool-9.27/html/TagNames/FLIR.html +615 -0
  52. data/vendor/Image-ExifTool-9.27/html/TagNames/Flash.html +419 -0
  53. data/vendor/Image-ExifTool-9.27/html/TagNames/FlashPix.html +1435 -0
  54. data/vendor/Image-ExifTool-9.27/html/TagNames/Font.html +485 -0
  55. data/vendor/Image-ExifTool-9.27/html/TagNames/FotoStation.html +103 -0
  56. data/vendor/Image-ExifTool-9.27/html/TagNames/FujiFilm.html +636 -0
  57. data/vendor/Image-ExifTool-9.27/html/TagNames/GE.html +40 -0
  58. data/vendor/Image-ExifTool-9.27/html/TagNames/GIF.html +116 -0
  59. data/vendor/Image-ExifTool-9.27/html/TagNames/GIMP.html +140 -0
  60. data/vendor/Image-ExifTool-9.27/html/TagNames/GPS.html +221 -0
  61. data/vendor/Image-ExifTool-9.27/html/TagNames/GeoTiff.html +2177 -0
  62. data/vendor/Image-ExifTool-9.27/html/TagNames/H264.html +387 -0
  63. data/vendor/Image-ExifTool-9.27/html/TagNames/HP.html +155 -0
  64. data/vendor/Image-ExifTool-9.27/html/TagNames/HTML.html +666 -0
  65. data/vendor/Image-ExifTool-9.27/html/TagNames/ICC_Profile.html +710 -0
  66. data/vendor/Image-ExifTool-9.27/html/TagNames/ID3.html +1429 -0
  67. data/vendor/Image-ExifTool-9.27/html/TagNames/IPTC.html +895 -0
  68. data/vendor/Image-ExifTool-9.27/html/TagNames/ITC.html +90 -0
  69. data/vendor/Image-ExifTool-9.27/html/TagNames/JFIF.html +61 -0
  70. data/vendor/Image-ExifTool-9.27/html/TagNames/JPEG.html +523 -0
  71. data/vendor/Image-ExifTool-9.27/html/TagNames/JVC.html +56 -0
  72. data/vendor/Image-ExifTool-9.27/html/TagNames/Jpeg2000.html +464 -0
  73. data/vendor/Image-ExifTool-9.27/html/TagNames/Kodak.html +1759 -0
  74. data/vendor/Image-ExifTool-9.27/html/TagNames/KyoceraRaw.html +92 -0
  75. data/vendor/Image-ExifTool-9.27/html/TagNames/LNK.html +478 -0
  76. data/vendor/Image-ExifTool-9.27/html/TagNames/Leaf.html +870 -0
  77. data/vendor/Image-ExifTool-9.27/html/TagNames/M2TS.html +133 -0
  78. data/vendor/Image-ExifTool-9.27/html/TagNames/MIE.html +1026 -0
  79. data/vendor/Image-ExifTool-9.27/html/TagNames/MIFF.html +196 -0
  80. data/vendor/Image-ExifTool-9.27/html/TagNames/MNG.html +847 -0
  81. data/vendor/Image-ExifTool-9.27/html/TagNames/MPC.html +97 -0
  82. data/vendor/Image-ExifTool-9.27/html/TagNames/MPEG.html +249 -0
  83. data/vendor/Image-ExifTool-9.27/html/TagNames/MPF.html +199 -0
  84. data/vendor/Image-ExifTool-9.27/html/TagNames/MWG.html +519 -0
  85. data/vendor/Image-ExifTool-9.27/html/TagNames/MXF.html +6673 -0
  86. data/vendor/Image-ExifTool-9.27/html/TagNames/Matroska.html +1069 -0
  87. data/vendor/Image-ExifTool-9.27/html/TagNames/Microsoft.html +2066 -0
  88. data/vendor/Image-ExifTool-9.27/html/TagNames/Minolta.html +2550 -0
  89. data/vendor/Image-ExifTool-9.27/html/TagNames/MinoltaRaw.html +326 -0
  90. data/vendor/Image-ExifTool-9.27/html/TagNames/Nikon.html +4453 -0
  91. data/vendor/Image-ExifTool-9.27/html/TagNames/NikonCapture.html +776 -0
  92. data/vendor/Image-ExifTool-9.27/html/TagNames/NikonCustom.html +3835 -0
  93. data/vendor/Image-ExifTool-9.27/html/TagNames/OOXML.html +280 -0
  94. data/vendor/Image-ExifTool-9.27/html/TagNames/Ogg.html +44 -0
  95. data/vendor/Image-ExifTool-9.27/html/TagNames/Olympus.html +3331 -0
  96. data/vendor/Image-ExifTool-9.27/html/TagNames/OpenEXR.html +222 -0
  97. data/vendor/Image-ExifTool-9.27/html/TagNames/PDF.html +745 -0
  98. data/vendor/Image-ExifTool-9.27/html/TagNames/PGF.html +80 -0
  99. data/vendor/Image-ExifTool-9.27/html/TagNames/PICT.html +753 -0
  100. data/vendor/Image-ExifTool-9.27/html/TagNames/PLIST.html +86 -0
  101. data/vendor/Image-ExifTool-9.27/html/TagNames/PNG.html +515 -0
  102. data/vendor/Image-ExifTool-9.27/html/TagNames/PSP.html +160 -0
  103. data/vendor/Image-ExifTool-9.27/html/TagNames/Panasonic.html +1359 -0
  104. data/vendor/Image-ExifTool-9.27/html/TagNames/PanasonicRaw.html +214 -0
  105. data/vendor/Image-ExifTool-9.27/html/TagNames/Pentax.html +4329 -0
  106. data/vendor/Image-ExifTool-9.27/html/TagNames/PhaseOne.html +258 -0
  107. data/vendor/Image-ExifTool-9.27/html/TagNames/PhotoCD.html +402 -0
  108. data/vendor/Image-ExifTool-9.27/html/TagNames/PhotoMechanic.html +196 -0
  109. data/vendor/Image-ExifTool-9.27/html/TagNames/Photoshop.html +460 -0
  110. data/vendor/Image-ExifTool-9.27/html/TagNames/PostScript.html +125 -0
  111. data/vendor/Image-ExifTool-9.27/html/TagNames/PrintIM.html +31 -0
  112. data/vendor/Image-ExifTool-9.27/html/TagNames/Qualcomm.html +4778 -0
  113. data/vendor/Image-ExifTool-9.27/html/TagNames/QuickTime.html +2967 -0
  114. data/vendor/Image-ExifTool-9.27/html/TagNames/RIFF.html +1164 -0
  115. data/vendor/Image-ExifTool-9.27/html/TagNames/RSRC.html +74 -0
  116. data/vendor/Image-ExifTool-9.27/html/TagNames/RTF.html +150 -0
  117. data/vendor/Image-ExifTool-9.27/html/TagNames/Radiance.html +87 -0
  118. data/vendor/Image-ExifTool-9.27/html/TagNames/Rawzor.html +45 -0
  119. data/vendor/Image-ExifTool-9.27/html/TagNames/Real.html +780 -0
  120. data/vendor/Image-ExifTool-9.27/html/TagNames/Reconyx.html +132 -0
  121. data/vendor/Image-ExifTool-9.27/html/TagNames/Ricoh.html +456 -0
  122. data/vendor/Image-ExifTool-9.27/html/TagNames/Samsung.html +377 -0
  123. data/vendor/Image-ExifTool-9.27/html/TagNames/Sanyo.html +366 -0
  124. data/vendor/Image-ExifTool-9.27/html/TagNames/Shortcuts.html +237 -0
  125. data/vendor/Image-ExifTool-9.27/html/TagNames/Sigma.html +372 -0
  126. data/vendor/Image-ExifTool-9.27/html/TagNames/SigmaRaw.html +403 -0
  127. data/vendor/Image-ExifTool-9.27/html/TagNames/Sony.html +4052 -0
  128. data/vendor/Image-ExifTool-9.27/html/TagNames/SonyIDC.html +267 -0
  129. data/vendor/Image-ExifTool-9.27/html/TagNames/Stim.html +200 -0
  130. data/vendor/Image-ExifTool-9.27/html/TagNames/Theora.html +102 -0
  131. data/vendor/Image-ExifTool-9.27/html/TagNames/Unknown.html +31 -0
  132. data/vendor/Image-ExifTool-9.27/html/TagNames/Vorbis.html +228 -0
  133. data/vendor/Image-ExifTool-9.27/html/TagNames/XMP.html +7188 -0
  134. data/vendor/Image-ExifTool-9.27/html/TagNames/ZIP.html +204 -0
  135. data/vendor/Image-ExifTool-9.27/html/TagNames/iWork.html +49 -0
  136. data/vendor/Image-ExifTool-9.27/html/TagNames/index.html +192 -0
  137. data/vendor/Image-ExifTool-9.27/html/TagNames/style.css +31 -0
  138. data/vendor/Image-ExifTool-9.27/html/ancient_history.html +6564 -0
  139. data/vendor/Image-ExifTool-9.27/html/canon_raw.html +366 -0
  140. data/vendor/Image-ExifTool-9.27/html/commentary.html +319 -0
  141. data/vendor/Image-ExifTool-9.27/html/config.html +312 -0
  142. data/vendor/Image-ExifTool-9.27/html/data_members.html +264 -0
  143. data/vendor/Image-ExifTool-9.27/html/exiftool_pod.html +2325 -0
  144. data/vendor/Image-ExifTool-9.27/html/faq.html +1427 -0
  145. data/vendor/Image-ExifTool-9.27/html/filename.html +281 -0
  146. data/vendor/Image-ExifTool-9.27/html/geotag.html +642 -0
  147. data/vendor/Image-ExifTool-9.27/html/history.html +433 -0
  148. data/vendor/Image-ExifTool-9.27/html/htmldump.html +732 -0
  149. data/vendor/Image-ExifTool-9.27/html/idiosyncracies.html +251 -0
  150. data/vendor/Image-ExifTool-9.27/html/index.html +1266 -0
  151. data/vendor/Image-ExifTool-9.27/html/install.html +239 -0
  152. data/vendor/Image-ExifTool-9.27/html/metafiles.html +266 -0
  153. data/vendor/Image-ExifTool-9.27/html/overview.png +0 -0
  154. data/vendor/Image-ExifTool-9.27/html/standards.html +277 -0
  155. data/vendor/Image-ExifTool-9.27/html/struct.html +342 -0
  156. data/vendor/Image-ExifTool-9.27/html/style.css +31 -0
  157. data/vendor/Image-ExifTool-9.27/html/under.html +120 -0
  158. data/vendor/Image-ExifTool-9.27/html/verbose.html +195 -0
  159. data/vendor/Image-ExifTool-9.27/html/writing.html +239 -0
  160. data/vendor/Image-ExifTool-9.27/lib/File/RandomAccess.pm +378 -0
  161. data/vendor/Image-ExifTool-9.27/lib/File/RandomAccess.pod +231 -0
  162. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool.pm +6811 -0
  163. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool.pod +2353 -0
  164. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/AES.pm +501 -0
  165. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/AFCP.pm +280 -0
  166. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/AIFF.pm +271 -0
  167. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/APE.pm +262 -0
  168. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/APP12.pm +322 -0
  169. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/ASF.pm +871 -0
  170. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/BMP.pm +179 -0
  171. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/BZZ.pm +472 -0
  172. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/BigTIFF.pm +282 -0
  173. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/BuildTagLookup.pm +2391 -0
  174. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Canon.pm +7736 -0
  175. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/CanonCustom.pm +2523 -0
  176. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/CanonRaw.pm +931 -0
  177. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/CanonVRD.pm +1481 -0
  178. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/CaptureOne.pm +235 -0
  179. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Casio.pm +2013 -0
  180. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Charset.pm +396 -0
  181. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/Arabic.pm +0 -0
  182. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/Baltic.pm +0 -0
  183. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/Cyrillic.pm +0 -0
  184. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/Greek.pm +0 -0
  185. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/Hebrew.pm +0 -0
  186. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/JIS.pm +0 -0
  187. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/Latin.pm +0 -0
  188. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/Latin2.pm +0 -0
  189. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacArabic.pm +0 -0
  190. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacChineseCN.pm +0 -0
  191. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacChineseTW.pm +0 -0
  192. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacCroatian.pm +0 -0
  193. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacCyrillic.pm +0 -0
  194. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacGreek.pm +0 -0
  195. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacHebrew.pm +0 -0
  196. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacIceland.pm +0 -0
  197. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacJapanese.pm +0 -0
  198. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacKorean.pm +0 -0
  199. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacLatin2.pm +0 -0
  200. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacRSymbol.pm +0 -0
  201. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacRoman.pm +0 -0
  202. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacRomanian.pm +0 -0
  203. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacThai.pm +0 -0
  204. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/MacTurkish.pm +0 -0
  205. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/PDFDoc.pm +0 -0
  206. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/ShiftJIS.pm +0 -0
  207. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/Symbol.pm +0 -0
  208. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/Thai.pm +0 -0
  209. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/Turkish.pm +0 -0
  210. data/vendor/{Image-ExifTool-8.97 → Image-ExifTool-9.27}/lib/Image/ExifTool/Charset/Vietnam.pm +0 -0
  211. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/DICOM.pm +3835 -0
  212. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/DNG.pm +835 -0
  213. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/DV.pm +319 -0
  214. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/DarwinCore.pm +317 -0
  215. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/DjVu.pm +373 -0
  216. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/EXE.pm +1228 -0
  217. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Exif.pm +4526 -0
  218. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/FLAC.pm +296 -0
  219. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/FLIR.pm +672 -0
  220. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Fixup.pm +354 -0
  221. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Flash.pm +755 -0
  222. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/FlashPix.pm +1882 -0
  223. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Font.pm +643 -0
  224. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/FotoStation.pm +258 -0
  225. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/FujiFilm.pm +1019 -0
  226. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/GE.pm +80 -0
  227. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/GIF.pm +542 -0
  228. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/GIMP.pm +258 -0
  229. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/GPS.pm +511 -0
  230. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/GeoTiff.pm +2187 -0
  231. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Geotag.pm +1173 -0
  232. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/H264.pm +1097 -0
  233. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/HP.pm +262 -0
  234. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/HTML.pm +576 -0
  235. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/HtmlDump.pm +895 -0
  236. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/ICC_Profile.pm +999 -0
  237. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/ID3.pm +1486 -0
  238. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/IPTC.pm +1244 -0
  239. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/ITC.pm +215 -0
  240. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Import.pm +308 -0
  241. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/InDesign.pm +277 -0
  242. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/JPEG.pm +588 -0
  243. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/JPEGDigest.pm +2511 -0
  244. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/JVC.pm +130 -0
  245. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Jpeg2000.pm +881 -0
  246. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Kodak.pm +2014 -0
  247. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/KyoceraRaw.pm +173 -0
  248. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/LNK.pm +723 -0
  249. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/cs.pm +1586 -0
  250. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/de.pm +7356 -0
  251. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/en_ca.pm +557 -0
  252. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/en_gb.pm +572 -0
  253. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/es.pm +4016 -0
  254. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/fi.pm +2856 -0
  255. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/fr.pm +4720 -0
  256. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/it.pm +7917 -0
  257. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/ja.pm +5815 -0
  258. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/ko.pm +2332 -0
  259. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/nl.pm +3220 -0
  260. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/pl.pm +1140 -0
  261. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/ru.pm +769 -0
  262. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/sv.pm +639 -0
  263. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/tr.pm +544 -0
  264. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/zh_cn.pm +1329 -0
  265. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Lang/zh_tw.pm +802 -0
  266. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Leaf.pm +515 -0
  267. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/M2TS.pm +729 -0
  268. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/MIE.pm +2561 -0
  269. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/MIEUnits.pod +377 -0
  270. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/MIFF.pm +279 -0
  271. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/MNG.pm +684 -0
  272. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/MPC.pm +156 -0
  273. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/MPEG.pm +736 -0
  274. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/MPF.pm +289 -0
  275. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/MWG.pm +736 -0
  276. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/MXF.pm +3032 -0
  277. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/MakerNotes.pm +1569 -0
  278. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Matroska.pm +891 -0
  279. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Microsoft.pm +879 -0
  280. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Minolta.pm +2823 -0
  281. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/MinoltaRaw.pm +534 -0
  282. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Nikon.pm +6105 -0
  283. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/NikonCapture.pm +911 -0
  284. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/NikonCustom.pm +4405 -0
  285. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/OOXML.pm +409 -0
  286. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Ogg.pm +237 -0
  287. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Olympus.pm +3540 -0
  288. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/OpenEXR.pm +324 -0
  289. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PDF.pm +2327 -0
  290. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PGF.pm +143 -0
  291. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PICT.pm +1260 -0
  292. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PLIST.pm +449 -0
  293. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PNG.pm +1100 -0
  294. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PPM.pm +169 -0
  295. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PSP.pm +305 -0
  296. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Panasonic.pm +1921 -0
  297. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PanasonicRaw.pm +535 -0
  298. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Pentax.pm +5486 -0
  299. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PhaseOne.pm +557 -0
  300. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PhotoCD.pm +507 -0
  301. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PhotoMechanic.pm +256 -0
  302. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Photoshop.pm +597 -0
  303. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PostScript.pm +693 -0
  304. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/PrintIM.pm +125 -0
  305. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Qualcomm.pm +1344 -0
  306. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/QuickTime.pm +3316 -0
  307. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/README +943 -0
  308. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/RIFF.pm +1322 -0
  309. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/RSRC.pm +241 -0
  310. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/RTF.pm +383 -0
  311. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Radiance.pm +144 -0
  312. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Rawzor.pm +190 -0
  313. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Real.pm +736 -0
  314. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Reconyx.pm +190 -0
  315. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Ricoh.pm +740 -0
  316. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Samsung.pm +769 -0
  317. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Sanyo.pm +439 -0
  318. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Shift.pl +594 -0
  319. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Shortcuts.pm +291 -0
  320. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Sigma.pm +574 -0
  321. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/SigmaRaw.pm +649 -0
  322. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Sony.pm +5388 -0
  323. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/SonyIDC.pm +330 -0
  324. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Stim.pm +196 -0
  325. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/TagInfoXML.pm +792 -0
  326. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/TagLookup.pm +7911 -0
  327. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/TagNames.pod +25645 -0
  328. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Theora.pm +145 -0
  329. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Unknown.pm +66 -0
  330. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Vorbis.pm +237 -0
  331. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/WriteCanonRaw.pl +637 -0
  332. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/WriteExif.pl +3674 -0
  333. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/WriteIPTC.pl +702 -0
  334. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/WritePDF.pl +759 -0
  335. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/WritePNG.pl +330 -0
  336. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/WritePhotoshop.pl +266 -0
  337. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/WritePostScript.pl +777 -0
  338. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/WriteXMP.pl +1318 -0
  339. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/Writer.pl +5755 -0
  340. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/XMP.pm +3535 -0
  341. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/XMP2.pl +1298 -0
  342. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/XMPStruct.pl +813 -0
  343. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/ZIP.pm +623 -0
  344. data/vendor/Image-ExifTool-9.27/lib/Image/ExifTool/iWork.pm +223 -0
  345. data/vendor/Image-ExifTool-9.27/perl-Image-ExifTool.spec +104 -0
  346. data/vendor/Image-ExifTool-9.27/t/AFCP.t +44 -0
  347. data/vendor/Image-ExifTool-9.27/t/AFCP_2.out +37 -0
  348. data/vendor/Image-ExifTool-9.27/t/AFCP_3.out +20 -0
  349. data/vendor/Image-ExifTool-9.27/t/AIFF.t +28 -0
  350. data/vendor/Image-ExifTool-9.27/t/AIFF_2.out +31 -0
  351. data/vendor/Image-ExifTool-9.27/t/APE.t +38 -0
  352. data/vendor/Image-ExifTool-9.27/t/APE_2.out +28 -0
  353. data/vendor/Image-ExifTool-9.27/t/APE_3.out +57 -0
  354. data/vendor/Image-ExifTool-9.27/t/ASF.t +28 -0
  355. data/vendor/Image-ExifTool-9.27/t/ASF_2.out +48 -0
  356. data/vendor/Image-ExifTool-9.27/t/BMP.t +28 -0
  357. data/vendor/Image-ExifTool-9.27/t/BMP_2.out +21 -0
  358. data/vendor/Image-ExifTool-9.27/t/BigTIFF.t +28 -0
  359. data/vendor/Image-ExifTool-9.27/t/BigTIFF_2.out +19 -0
  360. data/vendor/Image-ExifTool-9.27/t/Canon.t +41 -0
  361. data/vendor/Image-ExifTool-9.27/t/CanonRaw.t +126 -0
  362. data/vendor/Image-ExifTool-9.27/t/CanonRaw_2.out +165 -0
  363. data/vendor/Image-ExifTool-9.27/t/CanonRaw_4.out +214 -0
  364. data/vendor/Image-ExifTool-9.27/t/CanonRaw_5.out +207 -0
  365. data/vendor/Image-ExifTool-9.27/t/CanonRaw_6.out +231 -0
  366. data/vendor/Image-ExifTool-9.27/t/CanonRaw_7.out +246 -0
  367. data/vendor/Image-ExifTool-9.27/t/CanonVRD.t +129 -0
  368. data/vendor/Image-ExifTool-9.27/t/CanonVRD_11.out +118 -0
  369. data/vendor/Image-ExifTool-9.27/t/CanonVRD_12.out +12 -0
  370. data/vendor/Image-ExifTool-9.27/t/CanonVRD_2.out +116 -0
  371. data/vendor/Image-ExifTool-9.27/t/CanonVRD_3.out +116 -0
  372. data/vendor/Image-ExifTool-9.27/t/CanonVRD_4.out +2 -0
  373. data/vendor/Image-ExifTool-9.27/t/CanonVRD_5.out +3 -0
  374. data/vendor/Image-ExifTool-9.27/t/CanonVRD_6.out +3 -0
  375. data/vendor/Image-ExifTool-9.27/t/CanonVRD_7.out +2 -0
  376. data/vendor/Image-ExifTool-9.27/t/CanonVRD_8.out +2 -0
  377. data/vendor/Image-ExifTool-9.27/t/CanonVRD_9.out +1 -0
  378. data/vendor/Image-ExifTool-9.27/t/Canon_2.out +350 -0
  379. data/vendor/Image-ExifTool-9.27/t/Canon_3.out +3 -0
  380. data/vendor/Image-ExifTool-9.27/t/Casio.t +54 -0
  381. data/vendor/Image-ExifTool-9.27/t/Casio_2.out +70 -0
  382. data/vendor/Image-ExifTool-9.27/t/Casio_3.out +100 -0
  383. data/vendor/Image-ExifTool-9.27/t/Casio_4.out +26 -0
  384. data/vendor/Image-ExifTool-9.27/t/Casio_5.out +78 -0
  385. data/vendor/Image-ExifTool-9.27/t/Casio_6.out +115 -0
  386. data/vendor/Image-ExifTool-9.27/t/DICOM.t +28 -0
  387. data/vendor/Image-ExifTool-9.27/t/DICOM_2.out +108 -0
  388. data/vendor/Image-ExifTool-9.27/t/DNG.t +39 -0
  389. data/vendor/Image-ExifTool-9.27/t/DNG_2.out +326 -0
  390. data/vendor/Image-ExifTool-9.27/t/DNG_3.out +4 -0
  391. data/vendor/Image-ExifTool-9.27/t/DV.t +27 -0
  392. data/vendor/Image-ExifTool-9.27/t/DV_2.out +24 -0
  393. data/vendor/Image-ExifTool-9.27/t/DjVu.t +28 -0
  394. data/vendor/Image-ExifTool-9.27/t/DjVu_2.out +44 -0
  395. data/vendor/Image-ExifTool-9.27/t/EXE.t +31 -0
  396. data/vendor/Image-ExifTool-9.27/t/EXE_2.out +40 -0
  397. data/vendor/Image-ExifTool-9.27/t/EXE_3.out +15 -0
  398. data/vendor/Image-ExifTool-9.27/t/EXE_4.out +14 -0
  399. data/vendor/Image-ExifTool-9.27/t/ExifTool.t +284 -0
  400. data/vendor/Image-ExifTool-9.27/t/ExifTool_16.out +180 -0
  401. data/vendor/Image-ExifTool-9.27/t/ExifTool_17.out +594 -0
  402. data/vendor/Image-ExifTool-9.27/t/ExifTool_2.out +399 -0
  403. data/vendor/Image-ExifTool-9.27/t/ExifTool_20.out +1 -0
  404. data/vendor/Image-ExifTool-9.27/t/ExifTool_21.out +1 -0
  405. data/vendor/Image-ExifTool-9.27/t/ExifTool_22.out +1 -0
  406. data/vendor/Image-ExifTool-9.27/t/ExifTool_23.out +6 -0
  407. data/vendor/Image-ExifTool-9.27/t/ExifTool_24.out +3 -0
  408. data/vendor/Image-ExifTool-9.27/t/ExifTool_25.out +13 -0
  409. data/vendor/Image-ExifTool-9.27/t/ExifTool_26.out +12 -0
  410. data/vendor/Image-ExifTool-9.27/t/ExifTool_3.out +87 -0
  411. data/vendor/Image-ExifTool-9.27/t/ExifTool_4.out +41 -0
  412. data/vendor/Image-ExifTool-9.27/t/ExifTool_5.out +6 -0
  413. data/vendor/Image-ExifTool-9.27/t/ExifTool_6.out +68 -0
  414. data/vendor/Image-ExifTool-9.27/t/ExifTool_7.out +125 -0
  415. data/vendor/Image-ExifTool-9.27/t/ExifTool_8.out +125 -0
  416. data/vendor/Image-ExifTool-9.27/t/ExifTool_9.out +33 -0
  417. data/vendor/Image-ExifTool-9.27/t/FLAC.t +37 -0
  418. data/vendor/Image-ExifTool-9.27/t/FLAC_2.out +25 -0
  419. data/vendor/Image-ExifTool-9.27/t/FLAC_3.out +19 -0
  420. data/vendor/Image-ExifTool-9.27/t/FLIR.t +30 -0
  421. data/vendor/Image-ExifTool-9.27/t/FLIR_2.out +93 -0
  422. data/vendor/Image-ExifTool-9.27/t/FLIR_3.out +47 -0
  423. data/vendor/Image-ExifTool-9.27/t/Flash.t +37 -0
  424. data/vendor/Image-ExifTool-9.27/t/FlashPix.t +30 -0
  425. data/vendor/Image-ExifTool-9.27/t/FlashPix_2.out +48 -0
  426. data/vendor/Image-ExifTool-9.27/t/Flash_2.out +20 -0
  427. data/vendor/Image-ExifTool-9.27/t/Flash_3.out +53 -0
  428. data/vendor/Image-ExifTool-9.27/t/Font.t +30 -0
  429. data/vendor/Image-ExifTool-9.27/t/Font_2.out +23 -0
  430. data/vendor/Image-ExifTool-9.27/t/Font_3.out +35 -0
  431. data/vendor/Image-ExifTool-9.27/t/Font_4.out +26 -0
  432. data/vendor/Image-ExifTool-9.27/t/Font_5.out +26 -0
  433. data/vendor/Image-ExifTool-9.27/t/Font_6.out +36 -0
  434. data/vendor/Image-ExifTool-9.27/t/Font_7.out +36 -0
  435. data/vendor/Image-ExifTool-9.27/t/FotoStation.t +38 -0
  436. data/vendor/Image-ExifTool-9.27/t/FotoStation_2.out +39 -0
  437. data/vendor/Image-ExifTool-9.27/t/FotoStation_3.out +3 -0
  438. data/vendor/Image-ExifTool-9.27/t/FujiFilm.t +78 -0
  439. data/vendor/Image-ExifTool-9.27/t/FujiFilm_2.out +87 -0
  440. data/vendor/Image-ExifTool-9.27/t/FujiFilm_3.out +88 -0
  441. data/vendor/Image-ExifTool-9.27/t/FujiFilm_4.out +117 -0
  442. data/vendor/Image-ExifTool-9.27/t/FujiFilm_5.out +1 -0
  443. data/vendor/Image-ExifTool-9.27/t/GE.t +46 -0
  444. data/vendor/Image-ExifTool-9.27/t/GE_2.out +84 -0
  445. data/vendor/Image-ExifTool-9.27/t/GE_3.out +84 -0
  446. data/vendor/Image-ExifTool-9.27/t/GIF.t +83 -0
  447. data/vendor/Image-ExifTool-9.27/t/GIF_2.out +40 -0
  448. data/vendor/Image-ExifTool-9.27/t/GIF_3.out +41 -0
  449. data/vendor/Image-ExifTool-9.27/t/GIF_4.out +16 -0
  450. data/vendor/Image-ExifTool-9.27/t/GIMP.t +27 -0
  451. data/vendor/Image-ExifTool-9.27/t/GIMP_2.out +63 -0
  452. data/vendor/Image-ExifTool-9.27/t/GPS.t +42 -0
  453. data/vendor/Image-ExifTool-9.27/t/GPS_2.out +94 -0
  454. data/vendor/Image-ExifTool-9.27/t/GPS_3.out +96 -0
  455. data/vendor/Image-ExifTool-9.27/t/GeoTiff.t +36 -0
  456. data/vendor/Image-ExifTool-9.27/t/GeoTiff_2.out +36 -0
  457. data/vendor/Image-ExifTool-9.27/t/GeoTiff_3.out +36 -0
  458. data/vendor/Image-ExifTool-9.27/t/Geotag.t +164 -0
  459. data/vendor/Image-ExifTool-9.27/t/Geotag_2.out +9 -0
  460. data/vendor/Image-ExifTool-9.27/t/Geotag_3.out +6 -0
  461. data/vendor/Image-ExifTool-9.27/t/Geotag_5.out +1 -0
  462. data/vendor/Image-ExifTool-9.27/t/Geotag_6.out +9 -0
  463. data/vendor/Image-ExifTool-9.27/t/Geotag_7.out +53 -0
  464. data/vendor/Image-ExifTool-9.27/t/Geotag_8.out +15 -0
  465. data/vendor/Image-ExifTool-9.27/t/HTML.t +28 -0
  466. data/vendor/Image-ExifTool-9.27/t/HTML_2.out +68 -0
  467. data/vendor/Image-ExifTool-9.27/t/IPTC.t +157 -0
  468. data/vendor/Image-ExifTool-9.27/t/IPTC_2.out +58 -0
  469. data/vendor/Image-ExifTool-9.27/t/IPTC_4.out +56 -0
  470. data/vendor/Image-ExifTool-9.27/t/IPTC_5.out +1 -0
  471. data/vendor/Image-ExifTool-9.27/t/IPTC_6.out +2 -0
  472. data/vendor/Image-ExifTool-9.27/t/IPTC_7.out +1 -0
  473. data/vendor/Image-ExifTool-9.27/t/IPTC_8.out +20 -0
  474. data/vendor/Image-ExifTool-9.27/t/ITC.t +28 -0
  475. data/vendor/Image-ExifTool-9.27/t/ITC_2.out +19 -0
  476. data/vendor/Image-ExifTool-9.27/t/InDesign.t +61 -0
  477. data/vendor/Image-ExifTool-9.27/t/InDesign_2.out +19 -0
  478. data/vendor/Image-ExifTool-9.27/t/InDesign_3.out +21 -0
  479. data/vendor/Image-ExifTool-9.27/t/InDesign_4.out +11 -0
  480. data/vendor/Image-ExifTool-9.27/t/JVC.t +36 -0
  481. data/vendor/Image-ExifTool-9.27/t/JVC_2.out +3 -0
  482. data/vendor/Image-ExifTool-9.27/t/JVC_3.out +3 -0
  483. data/vendor/Image-ExifTool-9.27/t/Jpeg2000.t +49 -0
  484. data/vendor/Image-ExifTool-9.27/t/Jpeg2000_2.out +63 -0
  485. data/vendor/Image-ExifTool-9.27/t/Jpeg2000_3.out +51 -0
  486. data/vendor/Image-ExifTool-9.27/t/Jpeg2000_4.out +15 -0
  487. data/vendor/Image-ExifTool-9.27/t/Kodak.t +40 -0
  488. data/vendor/Image-ExifTool-9.27/t/Kodak_2.out +109 -0
  489. data/vendor/Image-ExifTool-9.27/t/Kodak_3.out +119 -0
  490. data/vendor/Image-ExifTool-9.27/t/KyoceraRaw.t +28 -0
  491. data/vendor/Image-ExifTool-9.27/t/KyoceraRaw_2.out +27 -0
  492. data/vendor/Image-ExifTool-9.27/t/LNK.t +28 -0
  493. data/vendor/Image-ExifTool-9.27/t/LNK_2.out +45 -0
  494. data/vendor/Image-ExifTool-9.27/t/Lang.t +40 -0
  495. data/vendor/Image-ExifTool-9.27/t/Lang_1.out +1 -0
  496. data/vendor/Image-ExifTool-9.27/t/Lang_10.out +46 -0
  497. data/vendor/Image-ExifTool-9.27/t/Lang_11.out +46 -0
  498. data/vendor/Image-ExifTool-9.27/t/Lang_12.out +46 -0
  499. data/vendor/Image-ExifTool-9.27/t/Lang_13.out +46 -0
  500. data/vendor/Image-ExifTool-9.27/t/Lang_14.out +46 -0
  501. data/vendor/Image-ExifTool-9.27/t/Lang_15.out +46 -0
  502. data/vendor/Image-ExifTool-9.27/t/Lang_16.out +46 -0
  503. data/vendor/Image-ExifTool-9.27/t/Lang_17.out +46 -0
  504. data/vendor/Image-ExifTool-9.27/t/Lang_18.out +46 -0
  505. data/vendor/Image-ExifTool-9.27/t/Lang_2.out +46 -0
  506. data/vendor/Image-ExifTool-9.27/t/Lang_3.out +46 -0
  507. data/vendor/Image-ExifTool-9.27/t/Lang_4.out +46 -0
  508. data/vendor/Image-ExifTool-9.27/t/Lang_5.out +46 -0
  509. data/vendor/Image-ExifTool-9.27/t/Lang_6.out +46 -0
  510. data/vendor/Image-ExifTool-9.27/t/Lang_7.out +46 -0
  511. data/vendor/Image-ExifTool-9.27/t/Lang_8.out +46 -0
  512. data/vendor/Image-ExifTool-9.27/t/Lang_9.out +46 -0
  513. data/vendor/Image-ExifTool-9.27/t/M2TS.t +29 -0
  514. data/vendor/Image-ExifTool-9.27/t/M2TS_2.out +27 -0
  515. data/vendor/Image-ExifTool-9.27/t/MIE.t +82 -0
  516. data/vendor/Image-ExifTool-9.27/t/MIE_2.out +67 -0
  517. data/vendor/Image-ExifTool-9.27/t/MIE_3.out +134 -0
  518. data/vendor/Image-ExifTool-9.27/t/MIE_5.out +1 -0
  519. data/vendor/Image-ExifTool-9.27/t/MIE_6.out +1 -0
  520. data/vendor/Image-ExifTool-9.27/t/MIFF.t +28 -0
  521. data/vendor/Image-ExifTool-9.27/t/MIFF_2.out +108 -0
  522. data/vendor/Image-ExifTool-9.27/t/MP3.t +29 -0
  523. data/vendor/Image-ExifTool-9.27/t/MP3_2.out +45 -0
  524. data/vendor/Image-ExifTool-9.27/t/MWG.t +72 -0
  525. data/vendor/Image-ExifTool-9.27/t/MWG_2.out +13 -0
  526. data/vendor/Image-ExifTool-9.27/t/MWG_3.out +8 -0
  527. data/vendor/Image-ExifTool-9.27/t/MWG_4.out +5 -0
  528. data/vendor/Image-ExifTool-9.27/t/MWG_5.out +22 -0
  529. data/vendor/Image-ExifTool-9.27/t/MXF.t +27 -0
  530. data/vendor/Image-ExifTool-9.27/t/MXF_2.out +78 -0
  531. data/vendor/Image-ExifTool-9.27/t/Matroska.t +29 -0
  532. data/vendor/Image-ExifTool-9.27/t/Matroska_2.out +64 -0
  533. data/vendor/Image-ExifTool-9.27/t/Minolta.t +50 -0
  534. data/vendor/Image-ExifTool-9.27/t/Minolta_2.out +133 -0
  535. data/vendor/Image-ExifTool-9.27/t/Minolta_3.out +146 -0
  536. data/vendor/Image-ExifTool-9.27/t/Minolta_4.out +148 -0
  537. data/vendor/Image-ExifTool-9.27/t/Nikon.t +114 -0
  538. data/vendor/Image-ExifTool-9.27/t/Nikon_2.out +82 -0
  539. data/vendor/Image-ExifTool-9.27/t/Nikon_3.out +98 -0
  540. data/vendor/Image-ExifTool-9.27/t/Nikon_4.out +173 -0
  541. data/vendor/Image-ExifTool-9.27/t/Nikon_5.out +167 -0
  542. data/vendor/Image-ExifTool-9.27/t/Nikon_7.out +260 -0
  543. data/vendor/Image-ExifTool-9.27/t/Nikon_8.out +4 -0
  544. data/vendor/Image-ExifTool-9.27/t/Olympus.t +85 -0
  545. data/vendor/Image-ExifTool-9.27/t/Olympus_2.out +79 -0
  546. data/vendor/Image-ExifTool-9.27/t/Olympus_3.out +81 -0
  547. data/vendor/Image-ExifTool-9.27/t/Olympus_4.out +192 -0
  548. data/vendor/Image-ExifTool-9.27/t/Olympus_5.out +264 -0
  549. data/vendor/Image-ExifTool-9.27/t/Olympus_6.out +151 -0
  550. data/vendor/Image-ExifTool-9.27/t/Olympus_7.out +482 -0
  551. data/vendor/Image-ExifTool-9.27/t/OpenEXR.t +28 -0
  552. data/vendor/Image-ExifTool-9.27/t/OpenEXR_2.out +23 -0
  553. data/vendor/Image-ExifTool-9.27/t/PDF.t +295 -0
  554. data/vendor/Image-ExifTool-9.27/t/PDF_10.out +10 -0
  555. data/vendor/Image-ExifTool-9.27/t/PDF_11.out +10 -0
  556. data/vendor/Image-ExifTool-9.27/t/PDF_12.out +9 -0
  557. data/vendor/Image-ExifTool-9.27/t/PDF_14.out +5 -0
  558. data/vendor/Image-ExifTool-9.27/t/PDF_15.out +6 -0
  559. data/vendor/Image-ExifTool-9.27/t/PDF_16.out +4 -0
  560. data/vendor/Image-ExifTool-9.27/t/PDF_17.out +4 -0
  561. data/vendor/Image-ExifTool-9.27/t/PDF_18.out +5 -0
  562. data/vendor/Image-ExifTool-9.27/t/PDF_19.out +6 -0
  563. data/vendor/Image-ExifTool-9.27/t/PDF_2.out +117 -0
  564. data/vendor/Image-ExifTool-9.27/t/PDF_20.out +4 -0
  565. data/vendor/Image-ExifTool-9.27/t/PDF_22.out +3 -0
  566. data/vendor/Image-ExifTool-9.27/t/PDF_4.out +12 -0
  567. data/vendor/Image-ExifTool-9.27/t/PDF_5.out +8 -0
  568. data/vendor/Image-ExifTool-9.27/t/PDF_6.out +9 -0
  569. data/vendor/Image-ExifTool-9.27/t/PDF_7.out +11 -0
  570. data/vendor/Image-ExifTool-9.27/t/PDF_8.out +9 -0
  571. data/vendor/Image-ExifTool-9.27/t/PDF_9.out +9 -0
  572. data/vendor/Image-ExifTool-9.27/t/PGF.t +28 -0
  573. data/vendor/Image-ExifTool-9.27/t/PGF_2.out +32 -0
  574. data/vendor/Image-ExifTool-9.27/t/PICT.t +28 -0
  575. data/vendor/Image-ExifTool-9.27/t/PICT_2.out +15 -0
  576. data/vendor/Image-ExifTool-9.27/t/PLIST.t +31 -0
  577. data/vendor/Image-ExifTool-9.27/t/PLIST_2.out +20 -0
  578. data/vendor/Image-ExifTool-9.27/t/PLIST_3.out +20 -0
  579. data/vendor/Image-ExifTool-9.27/t/PNG.t +75 -0
  580. data/vendor/Image-ExifTool-9.27/t/PNG_2.out +22 -0
  581. data/vendor/Image-ExifTool-9.27/t/PNG_3.out +118 -0
  582. data/vendor/Image-ExifTool-9.27/t/PNG_4.out +12 -0
  583. data/vendor/Image-ExifTool-9.27/t/PPM.t +40 -0
  584. data/vendor/Image-ExifTool-9.27/t/PPM_2.out +15 -0
  585. data/vendor/Image-ExifTool-9.27/t/PPM_3.out +9 -0
  586. data/vendor/Image-ExifTool-9.27/t/PSP.t +28 -0
  587. data/vendor/Image-ExifTool-9.27/t/PSP_2.out +32 -0
  588. data/vendor/Image-ExifTool-9.27/t/Panasonic.t +60 -0
  589. data/vendor/Image-ExifTool-9.27/t/Panasonic_2.out +99 -0
  590. data/vendor/Image-ExifTool-9.27/t/Panasonic_3.out +119 -0
  591. data/vendor/Image-ExifTool-9.27/t/Panasonic_4.out +177 -0
  592. data/vendor/Image-ExifTool-9.27/t/Panasonic_5.out +228 -0
  593. data/vendor/Image-ExifTool-9.27/t/Pentax.t +50 -0
  594. data/vendor/Image-ExifTool-9.27/t/Pentax_2.out +219 -0
  595. data/vendor/Image-ExifTool-9.27/t/Pentax_3.out +262 -0
  596. data/vendor/Image-ExifTool-9.27/t/Pentax_4.out +123 -0
  597. data/vendor/Image-ExifTool-9.27/t/PhotoCD.t +28 -0
  598. data/vendor/Image-ExifTool-9.27/t/PhotoCD_2.out +35 -0
  599. data/vendor/Image-ExifTool-9.27/t/PhotoMechanic.t +38 -0
  600. data/vendor/Image-ExifTool-9.27/t/PhotoMechanic_2.out +81 -0
  601. data/vendor/Image-ExifTool-9.27/t/PhotoMechanic_3.out +2 -0
  602. data/vendor/Image-ExifTool-9.27/t/Photoshop.t +42 -0
  603. data/vendor/Image-ExifTool-9.27/t/Photoshop_2.out +96 -0
  604. data/vendor/Image-ExifTool-9.27/t/Photoshop_3.out +108 -0
  605. data/vendor/Image-ExifTool-9.27/t/PostScript.t +49 -0
  606. data/vendor/Image-ExifTool-9.27/t/PostScript_2.out +64 -0
  607. data/vendor/Image-ExifTool-9.27/t/PostScript_3.out +132 -0
  608. data/vendor/Image-ExifTool-9.27/t/QuickTime.t +31 -0
  609. data/vendor/Image-ExifTool-9.27/t/QuickTime_2.out +128 -0
  610. data/vendor/Image-ExifTool-9.27/t/QuickTime_3.out +69 -0
  611. data/vendor/Image-ExifTool-9.27/t/RIFF.t +31 -0
  612. data/vendor/Image-ExifTool-9.27/t/RIFF_2.out +24 -0
  613. data/vendor/Image-ExifTool-9.27/t/RIFF_3.out +52 -0
  614. data/vendor/Image-ExifTool-9.27/t/RIFF_4.out +16 -0
  615. data/vendor/Image-ExifTool-9.27/t/RTF.t +27 -0
  616. data/vendor/Image-ExifTool-9.27/t/RTF_2.out +20 -0
  617. data/vendor/Image-ExifTool-9.27/t/Radiance.t +28 -0
  618. data/vendor/Image-ExifTool-9.27/t/Radiance_2.out +22 -0
  619. data/vendor/Image-ExifTool-9.27/t/Real.t +46 -0
  620. data/vendor/Image-ExifTool-9.27/t/Real_2.out +68 -0
  621. data/vendor/Image-ExifTool-9.27/t/Real_3.out +18 -0
  622. data/vendor/Image-ExifTool-9.27/t/Real_4.out +11 -0
  623. data/vendor/Image-ExifTool-9.27/t/Ricoh.t +47 -0
  624. data/vendor/Image-ExifTool-9.27/t/Ricoh_2.out +70 -0
  625. data/vendor/Image-ExifTool-9.27/t/Ricoh_3.out +98 -0
  626. data/vendor/Image-ExifTool-9.27/t/Ricoh_4.out +112 -0
  627. data/vendor/Image-ExifTool-9.27/t/Sanyo.t +39 -0
  628. data/vendor/Image-ExifTool-9.27/t/Sanyo_2.out +101 -0
  629. data/vendor/Image-ExifTool-9.27/t/Sanyo_3.out +111 -0
  630. data/vendor/Image-ExifTool-9.27/t/Sigma.t +60 -0
  631. data/vendor/Image-ExifTool-9.27/t/Sigma_2.out +91 -0
  632. data/vendor/Image-ExifTool-9.27/t/Sigma_3.out +94 -0
  633. data/vendor/Image-ExifTool-9.27/t/Sigma_4.out +63 -0
  634. data/vendor/Image-ExifTool-9.27/t/Sigma_5.out +192 -0
  635. data/vendor/Image-ExifTool-9.27/t/Sony.t +62 -0
  636. data/vendor/Image-ExifTool-9.27/t/Sony_2.out +84 -0
  637. data/vendor/Image-ExifTool-9.27/t/Sony_3.out +85 -0
  638. data/vendor/Image-ExifTool-9.27/t/Sony_5.out +32 -0
  639. data/vendor/Image-ExifTool-9.27/t/TestLib.pm +417 -0
  640. data/vendor/Image-ExifTool-9.27/t/Unknown.t +36 -0
  641. data/vendor/Image-ExifTool-9.27/t/Unknown_2.out +90 -0
  642. data/vendor/Image-ExifTool-9.27/t/Unknown_3.out +90 -0
  643. data/vendor/Image-ExifTool-9.27/t/Vorbis.t +28 -0
  644. data/vendor/Image-ExifTool-9.27/t/Vorbis_2.out +28 -0
  645. data/vendor/Image-ExifTool-9.27/t/Writer.t +896 -0
  646. data/vendor/Image-ExifTool-9.27/t/Writer_10.out +239 -0
  647. data/vendor/Image-ExifTool-9.27/t/Writer_11.out +37 -0
  648. data/vendor/Image-ExifTool-9.27/t/Writer_13.out +160 -0
  649. data/vendor/Image-ExifTool-9.27/t/Writer_14.out +67 -0
  650. data/vendor/Image-ExifTool-9.27/t/Writer_15.out +171 -0
  651. data/vendor/Image-ExifTool-9.27/t/Writer_16.out +1 -0
  652. data/vendor/Image-ExifTool-9.27/t/Writer_17.out +1 -0
  653. data/vendor/Image-ExifTool-9.27/t/Writer_18.out +3 -0
  654. data/vendor/Image-ExifTool-9.27/t/Writer_19.out +34 -0
  655. data/vendor/Image-ExifTool-9.27/t/Writer_2.out +168 -0
  656. data/vendor/Image-ExifTool-9.27/t/Writer_22.out +4 -0
  657. data/vendor/Image-ExifTool-9.27/t/Writer_24.out +1 -0
  658. data/vendor/Image-ExifTool-9.27/t/Writer_25.out +38 -0
  659. data/vendor/Image-ExifTool-9.27/t/Writer_26.out +32 -0
  660. data/vendor/Image-ExifTool-9.27/t/Writer_27.out +14 -0
  661. data/vendor/Image-ExifTool-9.27/t/Writer_28.out +1 -0
  662. data/vendor/Image-ExifTool-9.27/t/Writer_29.out +2 -0
  663. data/vendor/Image-ExifTool-9.27/t/Writer_30.out +2 -0
  664. data/vendor/Image-ExifTool-9.27/t/Writer_31.out +97 -0
  665. data/vendor/Image-ExifTool-9.27/t/Writer_32.out +3 -0
  666. data/vendor/Image-ExifTool-9.27/t/Writer_33.out +3 -0
  667. data/vendor/Image-ExifTool-9.27/t/Writer_34.out +3 -0
  668. data/vendor/Image-ExifTool-9.27/t/Writer_35.out +187 -0
  669. data/vendor/Image-ExifTool-9.27/t/Writer_36.out +2 -0
  670. data/vendor/Image-ExifTool-9.27/t/Writer_37.out +2 -0
  671. data/vendor/Image-ExifTool-9.27/t/Writer_38.out +62 -0
  672. data/vendor/Image-ExifTool-9.27/t/Writer_39.out +4 -0
  673. data/vendor/Image-ExifTool-9.27/t/Writer_4.out +85 -0
  674. data/vendor/Image-ExifTool-9.27/t/Writer_40.out +4 -0
  675. data/vendor/Image-ExifTool-9.27/t/Writer_41.out +3 -0
  676. data/vendor/Image-ExifTool-9.27/t/Writer_42.out +5 -0
  677. data/vendor/Image-ExifTool-9.27/t/Writer_43.out +5 -0
  678. data/vendor/Image-ExifTool-9.27/t/Writer_44.out +2 -0
  679. data/vendor/Image-ExifTool-9.27/t/Writer_45.out +1 -0
  680. data/vendor/Image-ExifTool-9.27/t/Writer_46.out +77 -0
  681. data/vendor/Image-ExifTool-9.27/t/Writer_47.out +56 -0
  682. data/vendor/Image-ExifTool-9.27/t/Writer_48.out +29 -0
  683. data/vendor/Image-ExifTool-9.27/t/Writer_50.out +3 -0
  684. data/vendor/Image-ExifTool-9.27/t/Writer_6.out +182 -0
  685. data/vendor/Image-ExifTool-9.27/t/Writer_7.out +149 -0
  686. data/vendor/Image-ExifTool-9.27/t/Writer_9.out +236 -0
  687. data/vendor/Image-ExifTool-9.27/t/XMP.t +521 -0
  688. data/vendor/Image-ExifTool-9.27/t/XMP_10.out +33 -0
  689. data/vendor/Image-ExifTool-9.27/t/XMP_11.out +59 -0
  690. data/vendor/Image-ExifTool-9.27/t/XMP_12.out +4 -0
  691. data/vendor/Image-ExifTool-9.27/t/XMP_13.out +5 -0
  692. data/vendor/Image-ExifTool-9.27/t/XMP_14.out +3 -0
  693. data/vendor/Image-ExifTool-9.27/t/XMP_15.out +3 -0
  694. data/vendor/Image-ExifTool-9.27/t/XMP_16.out +5 -0
  695. data/vendor/Image-ExifTool-9.27/t/XMP_17.out +6 -0
  696. data/vendor/Image-ExifTool-9.27/t/XMP_18.out +10 -0
  697. data/vendor/Image-ExifTool-9.27/t/XMP_19.out +35 -0
  698. data/vendor/Image-ExifTool-9.27/t/XMP_2.out +138 -0
  699. data/vendor/Image-ExifTool-9.27/t/XMP_20.out +35 -0
  700. data/vendor/Image-ExifTool-9.27/t/XMP_21.out +37 -0
  701. data/vendor/Image-ExifTool-9.27/t/XMP_22.out +37 -0
  702. data/vendor/Image-ExifTool-9.27/t/XMP_23.out +9 -0
  703. data/vendor/Image-ExifTool-9.27/t/XMP_24.out +31 -0
  704. data/vendor/Image-ExifTool-9.27/t/XMP_25.out +28 -0
  705. data/vendor/Image-ExifTool-9.27/t/XMP_26.out +52 -0
  706. data/vendor/Image-ExifTool-9.27/t/XMP_27.out +93 -0
  707. data/vendor/Image-ExifTool-9.27/t/XMP_28.out +44 -0
  708. data/vendor/Image-ExifTool-9.27/t/XMP_29.out +24 -0
  709. data/vendor/Image-ExifTool-9.27/t/XMP_3.out +136 -0
  710. data/vendor/Image-ExifTool-9.27/t/XMP_30.out +90 -0
  711. data/vendor/Image-ExifTool-9.27/t/XMP_31.out +19 -0
  712. data/vendor/Image-ExifTool-9.27/t/XMP_32.out +2 -0
  713. data/vendor/Image-ExifTool-9.27/t/XMP_34.out +2 -0
  714. data/vendor/Image-ExifTool-9.27/t/XMP_36.out +18 -0
  715. data/vendor/Image-ExifTool-9.27/t/XMP_37.out +35 -0
  716. data/vendor/Image-ExifTool-9.27/t/XMP_39.out +44 -0
  717. data/vendor/Image-ExifTool-9.27/t/XMP_40.out +3 -0
  718. data/vendor/Image-ExifTool-9.27/t/XMP_41.out +175 -0
  719. data/vendor/Image-ExifTool-9.27/t/XMP_5.out +29 -0
  720. data/vendor/Image-ExifTool-9.27/t/XMP_6.out +87 -0
  721. data/vendor/Image-ExifTool-9.27/t/XMP_7.out +118 -0
  722. data/vendor/Image-ExifTool-9.27/t/XMP_8.out +17 -0
  723. data/vendor/Image-ExifTool-9.27/t/XMP_9.out +36 -0
  724. data/vendor/Image-ExifTool-9.27/t/ZIP.t +69 -0
  725. data/vendor/Image-ExifTool-9.27/t/ZIP_2.out +18 -0
  726. data/vendor/Image-ExifTool-9.27/t/ZIP_3.out +17 -0
  727. data/vendor/Image-ExifTool-9.27/t/ZIP_4.out +213 -0
  728. data/vendor/Image-ExifTool-9.27/t/ZIP_5.out +134 -0
  729. data/vendor/Image-ExifTool-9.27/t/ZIP_6.out +49 -0
  730. data/vendor/Image-ExifTool-9.27/t/ZIP_7.out +28 -0
  731. data/vendor/Image-ExifTool-9.27/t/images/AFCP.jpg +0 -0
  732. data/vendor/Image-ExifTool-9.27/t/images/AIFF.aif +0 -0
  733. data/vendor/Image-ExifTool-9.27/t/images/APE.ape +0 -0
  734. data/vendor/Image-ExifTool-9.27/t/images/APE.mpc +0 -0
  735. data/vendor/Image-ExifTool-9.27/t/images/ASF.wmv +0 -0
  736. data/vendor/Image-ExifTool-9.27/t/images/BMP.bmp +0 -0
  737. data/vendor/Image-ExifTool-9.27/t/images/BigTIFF.btf +0 -0
  738. data/vendor/Image-ExifTool-9.27/t/images/Canon.jpg +0 -0
  739. data/vendor/Image-ExifTool-9.27/t/images/Canon1DmkIII.jpg +0 -0
  740. data/vendor/Image-ExifTool-9.27/t/images/CanonRaw.cr2 +0 -0
  741. data/vendor/Image-ExifTool-9.27/t/images/CanonRaw.crw +0 -0
  742. data/vendor/Image-ExifTool-9.27/t/images/CanonVRD.vrd +0 -0
  743. data/vendor/Image-ExifTool-9.27/t/images/CaptureOne.eip +0 -0
  744. data/vendor/Image-ExifTool-9.27/t/images/Casio.jpg +0 -0
  745. data/vendor/Image-ExifTool-9.27/t/images/Casio2.jpg +0 -0
  746. data/vendor/Image-ExifTool-9.27/t/images/CasioQVCI.jpg +0 -0
  747. data/vendor/Image-ExifTool-9.27/t/images/DICOM.dcm +0 -0
  748. data/vendor/Image-ExifTool-9.27/t/images/DNG.dng +0 -0
  749. data/vendor/Image-ExifTool-9.27/t/images/DV.dv +0 -0
  750. data/vendor/Image-ExifTool-9.27/t/images/DjVu.djvu +0 -0
  751. data/vendor/Image-ExifTool-9.27/t/images/EXE.elf +0 -0
  752. data/vendor/Image-ExifTool-9.27/t/images/EXE.exe +0 -0
  753. data/vendor/Image-ExifTool-9.27/t/images/EXE.macho +0 -0
  754. data/vendor/Image-ExifTool-9.27/t/images/ExifTool.jpg +0 -0
  755. data/vendor/Image-ExifTool-9.27/t/images/ExifTool.tif +0 -0
  756. data/vendor/Image-ExifTool-9.27/t/images/ExtendedXMP.jpg +0 -0
  757. data/vendor/Image-ExifTool-9.27/t/images/FLAC.flac +0 -0
  758. data/vendor/Image-ExifTool-9.27/t/images/FLAC.ogg +0 -0
  759. data/vendor/Image-ExifTool-9.27/t/images/FLIR.fpf +0 -0
  760. data/vendor/Image-ExifTool-9.27/t/images/FLIR.jpg +0 -0
  761. data/vendor/Image-ExifTool-9.27/t/images/Flash.flv +0 -0
  762. data/vendor/Image-ExifTool-9.27/t/images/Flash.swf +0 -0
  763. data/vendor/Image-ExifTool-9.27/t/images/FlashPix.ppt +0 -0
  764. data/vendor/Image-ExifTool-9.27/t/images/Font.afm +28 -0
  765. data/vendor/Image-ExifTool-9.27/t/images/Font.dfont +0 -0
  766. data/vendor/Image-ExifTool-9.27/t/images/Font.pfa +38 -0
  767. data/vendor/Image-ExifTool-9.27/t/images/Font.pfb +0 -0
  768. data/vendor/Image-ExifTool-9.27/t/images/Font.pfm +0 -0
  769. data/vendor/Image-ExifTool-9.27/t/images/Font.ttf +0 -0
  770. data/vendor/Image-ExifTool-9.27/t/images/FotoStation.jpg +0 -0
  771. data/vendor/Image-ExifTool-9.27/t/images/FujiFilm.jpg +0 -0
  772. data/vendor/Image-ExifTool-9.27/t/images/FujiFilm.raf +0 -0
  773. data/vendor/Image-ExifTool-9.27/t/images/GE.jpg +0 -0
  774. data/vendor/Image-ExifTool-9.27/t/images/GIF.gif +0 -0
  775. data/vendor/Image-ExifTool-9.27/t/images/GIMP.xcf +0 -0
  776. data/vendor/Image-ExifTool-9.27/t/images/GPS.jpg +0 -0
  777. data/vendor/Image-ExifTool-9.27/t/images/GeoTiff.tif +0 -0
  778. data/vendor/Image-ExifTool-9.27/t/images/Geotag.gpx +23 -0
  779. data/vendor/Image-ExifTool-9.27/t/images/Geotag.igc +24 -0
  780. data/vendor/Image-ExifTool-9.27/t/images/Geotag.log +13 -0
  781. data/vendor/Image-ExifTool-9.27/t/images/Geotag.xml +23 -0
  782. data/vendor/Image-ExifTool-9.27/t/images/Geotag2.log +7 -0
  783. data/vendor/Image-ExifTool-9.27/t/images/HTML.html +77 -0
  784. data/vendor/Image-ExifTool-9.27/t/images/IPTC.jpg +0 -0
  785. data/vendor/Image-ExifTool-9.27/t/images/ITC.itc +0 -0
  786. data/vendor/Image-ExifTool-9.27/t/images/InDesign.indd +0 -0
  787. data/vendor/Image-ExifTool-9.27/t/images/JVC.jpg +0 -0
  788. data/vendor/Image-ExifTool-9.27/t/images/JVC2.jpg +0 -0
  789. data/vendor/Image-ExifTool-9.27/t/images/Jpeg2000.j2c +0 -0
  790. data/vendor/Image-ExifTool-9.27/t/images/Jpeg2000.jp2 +0 -0
  791. data/vendor/Image-ExifTool-9.27/t/images/Kodak.jpg +0 -0
  792. data/vendor/Image-ExifTool-9.27/t/images/KyoceraRaw.raw +0 -0
  793. data/vendor/Image-ExifTool-9.27/t/images/LNK.lnk +0 -0
  794. data/vendor/Image-ExifTool-9.27/t/images/M2TS.mts +0 -0
  795. data/vendor/Image-ExifTool-9.27/t/images/MIE.mie +0 -0
  796. data/vendor/Image-ExifTool-9.27/t/images/MIFF.miff +0 -0
  797. data/vendor/Image-ExifTool-9.27/t/images/MP3.mp3 +0 -0
  798. data/vendor/Image-ExifTool-9.27/t/images/MWG.jpg +0 -0
  799. data/vendor/Image-ExifTool-9.27/t/images/MXF.mxf +0 -0
  800. data/vendor/Image-ExifTool-9.27/t/images/Matroska.mkv +0 -0
  801. data/vendor/Image-ExifTool-9.27/t/images/Minolta.jpg +0 -0
  802. data/vendor/Image-ExifTool-9.27/t/images/Minolta.mrw +0 -0
  803. data/vendor/Image-ExifTool-9.27/t/images/Nikon.jpg +0 -0
  804. data/vendor/Image-ExifTool-9.27/t/images/Nikon.nef +0 -0
  805. data/vendor/Image-ExifTool-9.27/t/images/NikonD2Hs.jpg +0 -0
  806. data/vendor/Image-ExifTool-9.27/t/images/NikonD70.jpg +0 -0
  807. data/vendor/Image-ExifTool-9.27/t/images/OOXML.docx +0 -0
  808. data/vendor/Image-ExifTool-9.27/t/images/Olympus.jpg +0 -0
  809. data/vendor/Image-ExifTool-9.27/t/images/Olympus2.jpg +0 -0
  810. data/vendor/Image-ExifTool-9.27/t/images/OlympusE1.jpg +0 -0
  811. data/vendor/Image-ExifTool-9.27/t/images/OpenDoc.ods +0 -0
  812. data/vendor/Image-ExifTool-9.27/t/images/OpenEXR.exr +0 -0
  813. data/vendor/Image-ExifTool-9.27/t/images/PDF.pdf +0 -0
  814. data/vendor/Image-ExifTool-9.27/t/images/PDF2.pdf +0 -0
  815. data/vendor/Image-ExifTool-9.27/t/images/PGF.pgf +0 -0
  816. data/vendor/Image-ExifTool-9.27/t/images/PICT.pict +0 -0
  817. data/vendor/Image-ExifTool-9.27/t/images/PLIST-bin.plist +0 -0
  818. data/vendor/Image-ExifTool-9.27/t/images/PLIST-xml.plist +35 -0
  819. data/vendor/Image-ExifTool-9.27/t/images/PNG.png +0 -0
  820. data/vendor/Image-ExifTool-9.27/t/images/PPM.ppm +5 -0
  821. data/vendor/Image-ExifTool-9.27/t/images/PSP.psp +0 -0
  822. data/vendor/Image-ExifTool-9.27/t/images/Panasonic.jpg +0 -0
  823. data/vendor/Image-ExifTool-9.27/t/images/Panasonic.rw2 +0 -0
  824. data/vendor/Image-ExifTool-9.27/t/images/Pentax.avi +0 -0
  825. data/vendor/Image-ExifTool-9.27/t/images/Pentax.jpg +0 -0
  826. data/vendor/Image-ExifTool-9.27/t/images/PhotoCD.pcd +0 -0
  827. data/vendor/Image-ExifTool-9.27/t/images/PhotoMechanic.jpg +0 -0
  828. data/vendor/Image-ExifTool-9.27/t/images/Photoshop.psd +0 -0
  829. data/vendor/Image-ExifTool-9.27/t/images/PostScript.eps +108 -0
  830. data/vendor/Image-ExifTool-9.27/t/images/QuickTime.m4a +0 -0
  831. data/vendor/Image-ExifTool-9.27/t/images/QuickTime.mov +0 -0
  832. data/vendor/Image-ExifTool-9.27/t/images/RIFF.avi +0 -0
  833. data/vendor/Image-ExifTool-9.27/t/images/RIFF.wav +0 -0
  834. data/vendor/Image-ExifTool-9.27/t/images/RIFF.webp +0 -0
  835. data/vendor/Image-ExifTool-9.27/t/images/RTF.rtf +25 -0
  836. data/vendor/Image-ExifTool-9.27/t/images/Radiance.hdr +0 -0
  837. data/vendor/Image-ExifTool-9.27/t/images/Real.ra +0 -0
  838. data/vendor/Image-ExifTool-9.27/t/images/Real.ram +1 -0
  839. data/vendor/Image-ExifTool-9.27/t/images/Real.rm +0 -0
  840. data/vendor/Image-ExifTool-9.27/t/images/Ricoh.jpg +0 -0
  841. data/vendor/Image-ExifTool-9.27/t/images/Ricoh2.jpg +0 -0
  842. data/vendor/Image-ExifTool-9.27/t/images/Sanyo.jpg +0 -0
  843. data/vendor/Image-ExifTool-9.27/t/images/Sigma.jpg +0 -0
  844. data/vendor/Image-ExifTool-9.27/t/images/Sigma.x3f +0 -0
  845. data/vendor/Image-ExifTool-9.27/t/images/SigmaDP2.x3f +0 -0
  846. data/vendor/Image-ExifTool-9.27/t/images/Sony.jpg +0 -0
  847. data/vendor/Image-ExifTool-9.27/t/images/Sony.pmp +0 -0
  848. data/vendor/Image-ExifTool-9.27/t/images/Unknown.jpg +0 -0
  849. data/vendor/Image-ExifTool-9.27/t/images/Vorbis.ogg +0 -0
  850. data/vendor/Image-ExifTool-9.27/t/images/Writer.jpg +0 -0
  851. data/vendor/Image-ExifTool-9.27/t/images/XMP.inx +108 -0
  852. data/vendor/Image-ExifTool-9.27/t/images/XMP.jpg +0 -0
  853. data/vendor/Image-ExifTool-9.27/t/images/XMP.svg +33 -0
  854. data/vendor/Image-ExifTool-9.27/t/images/XMP.xml +98 -0
  855. data/vendor/Image-ExifTool-9.27/t/images/XMP.xmp +99 -0
  856. data/vendor/Image-ExifTool-9.27/t/images/XMP2.xmp +25 -0
  857. data/vendor/Image-ExifTool-9.27/t/images/XMP3.xmp +43 -0
  858. data/vendor/Image-ExifTool-9.27/t/images/XMP4.xmp +93 -0
  859. data/vendor/Image-ExifTool-9.27/t/images/XMP5.xmp +158 -0
  860. data/vendor/Image-ExifTool-9.27/t/images/ZIP.gz +0 -0
  861. data/vendor/Image-ExifTool-9.27/t/images/ZIP.zip +0 -0
  862. data/vendor/Image-ExifTool-9.27/t/images/iWork.numbers +0 -0
  863. metadata +868 -218
  864. data/vendor/Image-ExifTool-8.97/.DS_Store +0 -0
  865. data/vendor/Image-ExifTool-8.97/Changes +0 -5753
  866. data/vendor/Image-ExifTool-8.97/ExifTool_config +0 -299
  867. data/vendor/Image-ExifTool-8.97/MANIFEST +0 -831
  868. data/vendor/Image-ExifTool-8.97/META.yml +0 -26
  869. data/vendor/Image-ExifTool-8.97/README +0 -221
  870. data/vendor/Image-ExifTool-8.97/exiftool +0 -5207
  871. data/vendor/Image-ExifTool-8.97/kml.fmt +0 -63
  872. data/vendor/Image-ExifTool-8.97/lib/File/RandomAccess.pm +0 -378
  873. data/vendor/Image-ExifTool-8.97/lib/File/RandomAccess.pod +0 -231
  874. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool.pm +0 -6623
  875. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool.pod +0 -2276
  876. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/AES.pm +0 -501
  877. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/AFCP.pm +0 -280
  878. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/AIFF.pm +0 -271
  879. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/APE.pm +0 -254
  880. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/APP12.pm +0 -322
  881. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/ASF.pm +0 -871
  882. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/BMP.pm +0 -179
  883. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/BZZ.pm +0 -472
  884. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/BigTIFF.pm +0 -286
  885. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/BuildTagLookup.pm +0 -2311
  886. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Canon.pm +0 -7435
  887. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/CanonCustom.pm +0 -2484
  888. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/CanonRaw.pm +0 -927
  889. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/CanonVRD.pm +0 -1481
  890. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/CaptureOne.pm +0 -235
  891. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Casio.pm +0 -2013
  892. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Charset.pm +0 -396
  893. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/DICOM.pm +0 -3832
  894. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/DNG.pm +0 -835
  895. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/DV.pm +0 -319
  896. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/DjVu.pm +0 -373
  897. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/EXE.pm +0 -1228
  898. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Exif.pm +0 -4344
  899. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/FLAC.pm +0 -296
  900. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Fixup.pm +0 -333
  901. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Flash.pm +0 -755
  902. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/FlashPix.pm +0 -1882
  903. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Font.pm +0 -643
  904. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/FotoStation.pm +0 -258
  905. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/FujiFilm.pm +0 -968
  906. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/GE.pm +0 -80
  907. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/GIF.pm +0 -525
  908. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/GIMP.pm +0 -258
  909. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/GPS.pm +0 -511
  910. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/GeoTiff.pm +0 -2187
  911. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Geotag.pm +0 -1171
  912. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/H264.pm +0 -1093
  913. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/HP.pm +0 -262
  914. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/HTML.pm +0 -576
  915. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/HtmlDump.pm +0 -886
  916. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/ICC_Profile.pm +0 -997
  917. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/ID3.pm +0 -1276
  918. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/IPTC.pm +0 -1233
  919. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/ITC.pm +0 -215
  920. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Import.pm +0 -307
  921. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/InDesign.pm +0 -277
  922. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/JPEG.pm +0 -584
  923. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/JPEGDigest.pm +0 -2511
  924. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/JVC.pm +0 -130
  925. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Jpeg2000.pm +0 -823
  926. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Kodak.pm +0 -2012
  927. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/KyoceraRaw.pm +0 -173
  928. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/LNK.pm +0 -723
  929. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/cs.pm +0 -1581
  930. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/de.pm +0 -5503
  931. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/en_ca.pm +0 -557
  932. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/en_gb.pm +0 -572
  933. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/es.pm +0 -1718
  934. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/fi.pm +0 -2831
  935. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/fr.pm +0 -4716
  936. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/it.pm +0 -2201
  937. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/ja.pm +0 -5793
  938. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/ko.pm +0 -2324
  939. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/nl.pm +0 -3212
  940. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/pl.pm +0 -1134
  941. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/ru.pm +0 -761
  942. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/sv.pm +0 -632
  943. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/tr.pm +0 -539
  944. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/zh_cn.pm +0 -1320
  945. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Lang/zh_tw.pm +0 -794
  946. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Leaf.pm +0 -515
  947. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/M2TS.pm +0 -729
  948. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/MIE.pm +0 -2552
  949. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/MIEUnits.pod +0 -377
  950. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/MIFF.pm +0 -279
  951. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/MNG.pm +0 -684
  952. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/MPC.pm +0 -156
  953. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/MPEG.pm +0 -736
  954. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/MPF.pm +0 -286
  955. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/MWG.pm +0 -586
  956. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/MXF.pm +0 -3032
  957. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/MakerNotes.pm +0 -1551
  958. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Matroska.pm +0 -891
  959. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Microsoft.pm +0 -861
  960. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Minolta.pm +0 -2786
  961. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/MinoltaRaw.pm +0 -534
  962. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Nikon.pm +0 -5568
  963. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/NikonCapture.pm +0 -911
  964. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/NikonCustom.pm +0 -3724
  965. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/OOXML.pm +0 -409
  966. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Ogg.pm +0 -237
  967. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Olympus.pm +0 -4027
  968. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/OpenEXR.pm +0 -324
  969. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/PDF.pm +0 -1986
  970. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/PGF.pm +0 -143
  971. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/PICT.pm +0 -1260
  972. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/PNG.pm +0 -1100
  973. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/PPM.pm +0 -169
  974. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/PSP.pm +0 -305
  975. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Panasonic.pm +0 -1852
  976. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/PanasonicRaw.pm +0 -383
  977. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Pentax.pm +0 -5044
  978. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/PhotoCD.pm +0 -507
  979. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/PhotoMechanic.pm +0 -250
  980. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Photoshop.pm +0 -594
  981. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/PostScript.pm +0 -691
  982. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/PrintIM.pm +0 -125
  983. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Qualcomm.pm +0 -1344
  984. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/QuickTime.pm +0 -2920
  985. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/README +0 -922
  986. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/RIFF.pm +0 -1278
  987. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/RSRC.pm +0 -240
  988. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/RTF.pm +0 -383
  989. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Radiance.pm +0 -144
  990. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Rawzor.pm +0 -190
  991. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Real.pm +0 -736
  992. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Reconyx.pm +0 -190
  993. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Ricoh.pm +0 -714
  994. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Samsung.pm +0 -764
  995. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Sanyo.pm +0 -439
  996. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Shift.pl +0 -594
  997. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Shortcuts.pm +0 -289
  998. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Sigma.pm +0 -488
  999. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/SigmaRaw.pm +0 -676
  1000. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Sony.pm +0 -3844
  1001. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/SonyIDC.pm +0 -330
  1002. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Stim.pm +0 -196
  1003. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/TagInfoXML.pm +0 -763
  1004. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/TagLookup.pm +0 -7305
  1005. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/TagNames.pod +0 -24147
  1006. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Theora.pm +0 -145
  1007. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Unknown.pm +0 -66
  1008. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Vorbis.pm +0 -221
  1009. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/WriteCanonRaw.pl +0 -637
  1010. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/WriteExif.pl +0 -3513
  1011. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/WriteIPTC.pl +0 -700
  1012. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/WritePDF.pl +0 -757
  1013. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/WritePNG.pl +0 -329
  1014. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/WritePhotoshop.pl +0 -266
  1015. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/WritePostScript.pl +0 -776
  1016. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/WriteXMP.pl +0 -1296
  1017. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/Writer.pl +0 -5577
  1018. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/XMP.pm +0 -3589
  1019. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/XMP2.pl +0 -1315
  1020. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/XMPStruct.pl +0 -814
  1021. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/ZIP.pm +0 -623
  1022. data/vendor/Image-ExifTool-8.97/lib/Image/ExifTool/iWork.pm +0 -223
  1023. data/vendor/Image-ExifTool-8.97/perl-Image-ExifTool.spec +0 -103
@@ -0,0 +1,2353 @@
1
+ #------------------------------------------------------------------------------
2
+ # File: ExifTool.pod - Documentation for File::ExifTool
3
+ #
4
+ # Description: Read and write meta information
5
+ #
6
+ # URL: http://owl.phy.queensu.ca/~phil/exiftool/
7
+ #
8
+ # Legal: Copyright (c) 2003-2013, Phil Harvey (phil at owl.phy.queensu.ca)
9
+ # This library is free software; you can redistribute it and/or
10
+ # modify it under the same terms as Perl itself.
11
+ #------------------------------------------------------------------------------
12
+
13
+ =head1 NAME
14
+
15
+ Image::ExifTool - Read and write meta information
16
+
17
+ =head1 SYNOPSIS
18
+
19
+ use Image::ExifTool qw(:Public);
20
+
21
+ # ---- Simple procedural usage ----
22
+
23
+ # Get hash of meta information tag names/values from an image
24
+ $info = ImageInfo('a.jpg');
25
+
26
+ # ---- Object-oriented usage ----
27
+
28
+ # Create a new Image::ExifTool object
29
+ $exifTool = new Image::ExifTool;
30
+
31
+ # Extract meta information from an image
32
+ $exifTool->ExtractInfo($file, \%options);
33
+
34
+ # Get list of tags in the order they were found in the file
35
+ @tagList = $exifTool->GetFoundTags('File');
36
+
37
+ # Get the value of a specified tag
38
+ $value = $exifTool->GetValue($tag, $type);
39
+
40
+ # Get a tag description
41
+ $description = $exifTool->GetDescription($tag);
42
+
43
+ # Get the group name associated with this tag
44
+ $group = $exifTool->GetGroup($tag, $family);
45
+
46
+ # Set a new value for a tag
47
+ $exifTool->SetNewValue($tag, $newValue);
48
+
49
+ # Write new meta information to a file
50
+ $success = $exifTool->WriteInfo($srcfile, $dstfile);
51
+
52
+ # ...plus a host of other useful methods...
53
+
54
+ =head1 DESCRIPTION
55
+
56
+ ExifTool provides an extensible set of perl modules to read and write meta
57
+ information in a wide variety of files, including the maker note information
58
+ of many digital cameras by various manufacturers such as Canon, Casio,
59
+ FujiFilm, GE, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon,
60
+ Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh,
61
+ Samsung, Sanyo, Sigma/Foveon and Sony.
62
+
63
+ Below is a list of file types and meta information formats currently
64
+ supported by ExifTool (r = read, w = write, c = create):
65
+
66
+ File Types
67
+ ------------+-------------+-------------+-------------+------------
68
+ 3FR r | EIP r | LA r | ORF r/w | RSRC r
69
+ 3G2 r | EPS r/w | LNK r | OTF r | RTF r
70
+ 3GP r | ERF r/w | M2TS r | PAC r | RW2 r/w
71
+ ACR r | EXE r | M4A/V r | PAGES r | RWL r/w
72
+ AFM r | EXIF r/w/c | MEF r/w | PBM r/w | RWZ r
73
+ AI r/w | EXR r | MIE r/w/c | PCD r | RM r
74
+ AIFF r | F4A/V r | MIFF r | PDF r/w | SO r
75
+ APE r | FFF r/w | MKA r | PEF r/w | SR2 r/w
76
+ ARW r/w | FLA r | MKS r | PFA r | SRF r
77
+ ASF r | FLAC r | MKV r | PFB r | SRW r/w
78
+ AVI r | FLV r | MNG r/w | PFM r | SVG r
79
+ BMP r | FPF r | MODD r | PGF r | SWF r
80
+ BTF r | FPX r | MOS r/w | PGM r/w | THM r/w
81
+ CHM r | GIF r/w | MOV r | PLIST r | TIFF r/w
82
+ COS r | GZ r | MP3 r | PICT r | TTC r
83
+ CR2 r/w | HDP r/w | MP4 r | PMP r | TTF r
84
+ CRW r/w | HDR r | MPC r | PNG r/w | VRD r/w/c
85
+ CS1 r/w | HTML r | MPG r | PPM r/w | VSD r
86
+ DCM r | ICC r/w/c | MPO r/w | PPT r | WAV r
87
+ DCP r/w | IDML r | MQV r | PPTX r | WDP r/w
88
+ DCR r | IIQ r/w | MRW r/w | PS r/w | WEBP r
89
+ DFONT r | IND r/w | MXF r | PSB r/w | WEBM r
90
+ DIVX r | INX r | NEF r/w | PSD r/w | WMA r
91
+ DJVU r | ITC r | NRW r/w | PSP r | WMV r
92
+ DLL r | J2C r | NUMBERS r | QTIF r | WV r
93
+ DNG r/w | JNG r/w | ODP r | RA r | X3F r/w
94
+ DOC r | JP2 r/w | ODS r | RAF r/w | XCF r
95
+ DOCX r | JPEG r/w | ODT r | RAM r | XLS r
96
+ DV r | K25 r | OFR r | RAR r | XLSX r
97
+ DVB r | KDC r | OGG r | RAW r/w | XMP r/w/c
98
+ DYLIB r | KEY r | OGV r | RIFF r | ZIP r
99
+
100
+ Meta Information
101
+ ----------------------+----------------------+---------------------
102
+ EXIF r/w/c | CIFF r/w | Ricoh RMETA r
103
+ GPS r/w/c | AFCP r/w | Picture Info r
104
+ IPTC r/w/c | Kodak Meta r/w | Adobe APP14 r
105
+ XMP r/w/c | FotoStation r/w | MPF r
106
+ MakerNotes r/w/c | PhotoMechanic r/w | Stim r
107
+ Photoshop IRB r/w/c | JPEG 2000 r | APE r
108
+ ICC Profile r/w/c | DICOM r | Vorbis r
109
+ MIE r/w/c | Flash r | SPIFF r
110
+ JFIF r/w/c | FlashPix r | DjVu r
111
+ Ducky APP12 r/w/c | QuickTime r | M2TS r
112
+ PDF r/w/c | Matroska r | PE/COFF r
113
+ PNG r/w/c | GeoTIFF r | AVCHD r
114
+ Canon VRD r/w/c | PrintIM r | ZIP r
115
+ Nikon Capture r/w/c | ID3 r | (and more)
116
+
117
+ =head1 CONFIGURATION
118
+
119
+ User-defined tags can be added via the ExifTool configuration file, or by
120
+ defining the %Image::ExifTool::UserDefined hash before calling any ExifTool
121
+ methods. See "ExifTool_config" in the ExifTool distribution for more
122
+ details.
123
+
124
+ By default ExifTool looks for a configuration file named ".ExifTool_config"
125
+ first in your home directory, then in the directory of the application
126
+ script, but a different directory may be specified by setting the
127
+ EXIFTOOL_HOME environment variable, or a different file may be specified by
128
+ setting the ExifTool C<configFile> variable before using Image::ExifTool.
129
+ For example:
130
+
131
+ BEGIN { $Image::ExifTool::configFile = '/Users/phil/myconfig.cfg' }
132
+ use Image::ExifTool;
133
+
134
+ The configuration feature may also be disabled by setting C<configFile> to
135
+ an empty string:
136
+
137
+ BEGIN { $Image::ExifTool::configFile = '' }
138
+ use Image::ExifTool;
139
+
140
+ =head1 EXPORTS
141
+
142
+ Exports nothing by default, but L</ImageInfo> and all static methods may be
143
+ exported with the C<:Public> export list.
144
+
145
+ =head1 METHODS
146
+
147
+ All ExifTool features are accessed through the methods of the public
148
+ interface listed below. Other Image::ExifTool methods and modules should
149
+ not be accessed directly because their interface may change with future
150
+ versions.
151
+
152
+ None of these methods should ever die or issue warnings to STDERR if called
153
+ with the proper arguments (with the exception of L</SetNewValue> which may
154
+ send an error message to STDERR, but only when called in scalar context).
155
+ Error and warning messages that occur during processing are stored in the
156
+ values of the Error and Warning tags, and are accessible via the
157
+ L</GetValue> method.
158
+
159
+ The ExifTool methods are not thread safe.
160
+
161
+ =head2 new
162
+
163
+ Creates a new ExifTool object.
164
+
165
+ $exifTool = new Image::ExifTool;
166
+
167
+ Note that ExifTool uses AUTOLOAD to load non-member methods, so any class
168
+ using Image::ExifTool as a base class must define an AUTOLOAD which calls
169
+ Image::ExifTool::DoAutoLoad(). ie)
170
+
171
+ sub AUTOLOAD
172
+ {
173
+ Image::ExifTool::DoAutoLoad($AUTOLOAD, @_);
174
+ }
175
+
176
+ =head2 ImageInfo
177
+
178
+ Read image file and return meta information. This is the one step function
179
+ for retrieving meta information from an image. Internally, L</ImageInfo>
180
+ calls L</ExtractInfo> to extract the information, L</GetInfo> to generate
181
+ the information hash, and L</GetTagList> for the returned tag list.
182
+
183
+ # return meta information for 2 tags only (procedural)
184
+ $info = ImageInfo($filename, $tag1, $tag2);
185
+
186
+ # return information about an open image file (object-oriented)
187
+ $info = $exifTool->ImageInfo(\*FILE);
188
+
189
+ # return information from image data in memory for specified tags
190
+ %options = (PrintConv => 0);
191
+ @tagList = qw(filename imagesize xmp:creator exif:* -ifd1:*);
192
+ $info = ImageInfo(\$imageData, \@tagList, \%options);
193
+
194
+ # extract information from an embedded thumbnail image
195
+ $info = ImageInfo('image.jpg', 'thumbnailimage');
196
+ $thumbInfo = ImageInfo($$info{ThumbnailImage});
197
+
198
+ =over 4
199
+
200
+ =item Inputs:
201
+
202
+ L</ImageInfo> is very flexible about the input arguments, and interprets
203
+ them based on their type. It may be called with one or more arguments.
204
+ The one required argument is either a SCALAR (the image file name), a file
205
+ reference (a reference to the image file) or a SCALAR reference (a
206
+ reference to the image in memory). Other arguments are optional. The
207
+ order of the arguments is not significant, except that the first SCALAR is
208
+ taken to be the file name unless a file reference or scalar reference comes
209
+ earlier in the argument list.
210
+
211
+ Below is an explanation of how the L</ImageInfo> function arguments are
212
+ interpreted:
213
+
214
+ =over 4
215
+
216
+ =item ExifTool ref
217
+
218
+ L</ImageInfo> may be called with an ExifTool object if desired. Advantages
219
+ of using the object-oriented form are that options may be set before calling
220
+ L</ImageInfo>, and the object may be used afterward to access member
221
+ functions. Must be the first argument if used.
222
+
223
+ =item SCALAR
224
+
225
+ The first scalar argument is taken to be the file name unless an earlier
226
+ argument specified the image data via a file reference (file ref) or data
227
+ reference (SCALAR ref). The remaining scalar arguments are names of tags
228
+ for requested information. All tags are returned if no tags are specified.
229
+
230
+ Tag names are case-insensitive and may be prefixed by optional group names
231
+ separated by colons. A group name may begin with a family number (ie.
232
+ '1IPTC:Keywords'), to restrict matches to a specific family. In the tag
233
+ name, a '?' matches any single character and a '*' matches zero or more
234
+ characters. Thus 'GROUP:*' represents all tags in a specific group.
235
+ Wildcards may not be used in group names, with the exception that a group
236
+ name of '*' may be used to extract all available instances of a tag
237
+ regardless of the L</Duplicates> setting (ie. '*:WhiteBalance'). Multiple
238
+ groups may be specified (ie. 'EXIF:Time:*' extracts all EXIF Time tags). And
239
+ finally, a leading '-' indicates a tag to be excluded (ie. '-IFD1:*'), or a
240
+ trailing '#' causes the ValueConv value to be returned for this tag.
241
+
242
+ Note that keys in the returned information hash and elements of the returned
243
+ tag list are not necessarily the same as these tag names because group names
244
+ are removed, the case may be changed, and an instance number may be added.
245
+ For this reason it is best to use either the keys of the returned hash or
246
+ the elements of the returned tag list when accessing the tag values.
247
+
248
+ See L<Image::ExifTool::TagNames|Image::ExifTool::TagNames> for a complete
249
+ list of ExifTool tag names.
250
+
251
+ =item File ref
252
+
253
+ A reference to an open image file. If you use this method (or a SCALAR
254
+ reference) to access information in an image, the FileName and Directory
255
+ tags will not be returned. (Also, the FileSize, FileModifyDate and
256
+ FilePermissions tags will not be returned unless it is a plain file.) Image
257
+ processing begins at the current file position, and on return the file
258
+ position is unspecified. May be either a standard filehandle, or a
259
+ reference to a L<File::RandomAccess|File::RandomAccess> object. Note that
260
+ the file remains open and must be closed by the caller after L</ImageInfo>
261
+ returns.
262
+
263
+ [Advanced: To allow a non-rewindable stream (ie. a network socket) to be
264
+ re-read after processing with ExifTool, first wrap the file reference in a
265
+ L<File::RandomAccess|File::RandomAccess> object, then pass this object to
266
+ L</ImageInfo>. The L<File::RandomAccess|File::RandomAccess> object will
267
+ buffer the file if necessary, and may be used to re-read the file after
268
+ L</ImageInfo> returns.]
269
+
270
+ =item SCALAR ref
271
+
272
+ A reference to image data in memory.
273
+
274
+ =item ARRAY ref
275
+
276
+ Reference to a list of tag names. On entry, any elements in the list are
277
+ added to the list of requested tags. Tags with names beginning with '-' are
278
+ excluded. On return, this list is updated to contain an ordered list of tag
279
+ keys for the returned information.
280
+
281
+ There will be 1:1 correspondence between the requested tags and the returned
282
+ tag keys only if the L</Duplicates> option is 0 and L</Sort> is 'Input'.
283
+ (With L</Duplicates> enabled, there may be more entries in the returned list
284
+ of tag keys, and with other L</Sort> settings the entries may not be in the
285
+ same order as requested.)
286
+
287
+ =item HASH ref
288
+
289
+ Reference to a hash containing the options settings. See L</Options>
290
+ documentation below for a list of available options. Options specified
291
+ as arguments to L</ImageInfo> take precedence over L</Options> settings.
292
+
293
+ =back
294
+
295
+ =item Return Values:
296
+
297
+ L</ImageInfo> returns a reference to a hash of tag key/value pairs. The tag
298
+ keys are identifiers, which are similar to the tag names but may have an
299
+ appended instance number if multiple tags with the same name were extracted
300
+ from the image. Many of the ExifTool functions require a tag key as an
301
+ argument. Use L</GetTagName [static]> to get the tag name for a given tag
302
+ key. Note that the case of the tag names may not be the same as requested.
303
+ Here is a simple example to print out the information returned by
304
+ L</ImageInfo>:
305
+
306
+ foreach (sort keys %$info) {
307
+ print "$_ => $$info{$_}\n";
308
+ }
309
+
310
+ Values of the returned hash are usually simple scalars, but a scalar
311
+ reference is used to indicate binary data and an array reference may be used
312
+ to indicate a list. Also, a hash reference may be returned if the L</Struct>
313
+ option is used. Lists of values are joined by commas into a single
314
+ string only if the PrintConv option is enabled and the List option is
315
+ disabled (which are the defaults). Note that binary values are not
316
+ necessarily extracted unless specifically requested, or the Binary option is
317
+ enabled and the tag is not specifically excluded. If not extracted the
318
+ value is a reference to a string of the form "Binary data ##### bytes".
319
+
320
+ The code below gives an example of how to handle these return values, as
321
+ well as illustrating the use of other ExifTool functions:
322
+
323
+ use Image::ExifTool;
324
+ my $exifTool = new Image::ExifTool;
325
+ $exifTool->Options(Unknown => 1);
326
+ my $info = $exifTool->ImageInfo('a.jpg');
327
+ my $group = '';
328
+ my $tag;
329
+ foreach $tag ($exifTool->GetFoundTags('Group0')) {
330
+ if ($group ne $exifTool->GetGroup($tag)) {
331
+ $group = $exifTool->GetGroup($tag);
332
+ print "---- $group ----\n";
333
+ }
334
+ my $val = $info->{$tag};
335
+ if (ref $val eq 'SCALAR') {
336
+ if ($$val =~ /^Binary data/) {
337
+ $val = "($$val)";
338
+ } else {
339
+ my $len = length($$val);
340
+ $val = "(Binary data $len bytes)";
341
+ }
342
+ }
343
+ printf("%-32s : %s\n", $exifTool->GetDescription($tag), $val);
344
+ }
345
+
346
+ =item Notes:
347
+
348
+ ExifTool returns all values as byte strings of encoded characters. Perl
349
+ wide characters are not used. See L</CHARACTER ENCODINGS> for details about
350
+ the encodings. By default, most returned strings are encoded in UTF-8. For
351
+ these, Encode::decode_utf8() may be used to convert to a sequence of logical
352
+ Perl characters.
353
+
354
+ As well as tags representing information extracted from the image,
355
+ the following tags generated by ExifTool may be returned:
356
+
357
+ ExifToolVersion - The ExifTool version number.
358
+
359
+ Error - An error message if the image could not be processed.
360
+
361
+ Warning - A warning message if problems were encountered while
362
+ processing the image.
363
+
364
+ =back
365
+
366
+ =head2 Options
367
+
368
+ Get/set ExifTool options. This function can be called to set the default
369
+ options for an ExifTool object. Options set this way are in effect for
370
+ all function calls but may be overridden by options passed as arguments
371
+ to some functions.
372
+
373
+ The default option values may be changed by defining a
374
+ %Image::ExifTool::UserDefined::Options hash. See the ExifTool_config file
375
+ in the full ExifTool distribution for examples.
376
+
377
+ # exclude the 'OwnerName' tag from returned information
378
+ $exifTool->Options(Exclude => 'OwnerName');
379
+
380
+ # only get information in EXIF or MakerNotes groups
381
+ $exifTool->Options(Group0 => ['EXIF', 'MakerNotes']);
382
+
383
+ # ignore information from IFD1
384
+ $exifTool->Options(Group1 => '-IFD1');
385
+
386
+ # sort by groups in family 2, and extract unknown tags
387
+ $exifTool->Options(Sort => 'Group2', Unknown => 1);
388
+
389
+ # reset DateFormat option
390
+ $exifTool->Options(DateFormat => undef);
391
+
392
+ # do not extract duplicate tag names
393
+ $oldSetting = $exifTool->Options(Duplicates => 0);
394
+
395
+ # get current Verbose setting
396
+ $isVerbose = $exifTool->Options('Verbose');
397
+
398
+ =over 4
399
+
400
+ =item Inputs:
401
+
402
+ 0) ExifTool object reference.
403
+
404
+ 1) Option parameter name.
405
+
406
+ 2) [optional] Option parameter value (may be undef to clear option).
407
+
408
+ 3-N) [optional] Additional parameter/value pairs.
409
+
410
+ =item Option Parameters:
411
+
412
+ =over 4
413
+
414
+ =item Binary
415
+
416
+ Flag to extract the value data for all binary tags. Tag values representing
417
+ large binary data blocks (ie. ThumbnailImage) are not necessarily extracted
418
+ unless this option is set or the tag is specifically requested by name.
419
+ Default is 0.
420
+
421
+ =item ByteOrder
422
+
423
+ The byte order for newly created EXIF segments when writing. Note that if
424
+ EXIF information already exists, the existing order is maintained. Valid
425
+ values are 'MM', 'II' and undef. If ByteOrder is not defined (the default),
426
+ then the maker note byte order is used (if they are being copied), otherwise
427
+ big-endian ('MM') order is assumed. This can also be set via the
428
+ ExifByteOrder tag, but the ByteOrder option takes precedence if both are
429
+ set.
430
+
431
+ =item Charset
432
+
433
+ Character set for encoding character strings passed to/from ExifTool with
434
+ code points above U+007F. Default is 'UTF8'. Valid values are listed
435
+ below, case is not significant:
436
+
437
+ Value Alias(es) Description
438
+ ----------- --------------- ----------------------------------
439
+ UTF8 cp65001, UTF-8 UTF-8 characters
440
+ Latin cp1252, Latin1 Windows Latin1 (West European)
441
+ Latin2 cp1250 Windows Latin2 (Central European)
442
+ Cyrillic cp1251, Russian Windows Cyrillic
443
+ Greek cp1253 Windows Greek
444
+ Turkish cp1254 Windows Turkish
445
+ Hebrew cp1255 Windows Hebrew
446
+ Arabic cp1256 Windows Arabic
447
+ Baltic cp1257 Windows Baltic
448
+ Vietnam cp1258 Windows Vietnamese
449
+ Thai cp874 Windows Thai
450
+ MacRoman cp10000, Roman Macintosh Roman
451
+ MacLatin2 cp10029 Macintosh Latin2 (Central Europe)
452
+ MacCyrillic cp10007 Macintosh Cyrillic
453
+ MacGreek cp10006 Macintosh Greek
454
+ MacTurkish cp10081 Macintosh Turkish
455
+ MacRomanian cp10010 Macintosh Romanian
456
+ MacIceland cp10079 Macintosh Icelandic
457
+ MacCroatian cp10082 Macintosh Croatian
458
+
459
+ Note that this option affects some types of information when reading/writing
460
+ the file and other types when getting/setting tag values, so it must be
461
+ defined for both types of access.
462
+
463
+ =item CharsetEXIF
464
+
465
+ Internal encoding to use for stored EXIF "ASCII" string values. Unlike
466
+ other Charset options, CharsetEXIF may also be set to undef to pass through
467
+ all string values without recoding. Default is undef.
468
+
469
+ =item CharsetID3
470
+
471
+ Internal encoding to assume for ID3v1 strings. By the specification ID3v1
472
+ strings should be encoded in ISO 8859-1 (essentially Latin), but some
473
+ applications may use local encoding instead. Default is 'Latin'.
474
+
475
+ =item CharsetIPTC
476
+
477
+ Fallback internal IPTC character set to assume if IPTC information contains
478
+ no CodedCharacterSet tag. Possible values are the same as the L</Charset>
479
+ option. Default is 'Latin'.
480
+
481
+ Note that this option affects some types of information when reading/writing
482
+ the file and other types when getting/setting tag values, so it must be
483
+ defined for both types of access.
484
+
485
+ =item CharsetPhotoshop
486
+
487
+ Internal encoding to assume for Photoshop IRB resource names. Default is
488
+ 'Latin'.
489
+
490
+ =item CharsetQuickTime
491
+
492
+ Internal encoding to assume for QuickTime strings stored with an unspecified
493
+ encoding. Default is 'MacRoman'.
494
+
495
+ =item Compact
496
+
497
+ Flag to write compact output. Default is 0. The XMP specification suggests
498
+ that the data be padded with blanks to allow in-place editing. With this
499
+ flag set the 2kB of padding is not written. Note that this only effects
500
+ embedded XMP since padding is never written for stand-alone XMP files.
501
+
502
+ =item Composite
503
+
504
+ Flag to generate Composite tags when extracting information. Default is 1.
505
+
506
+ =item Compress
507
+
508
+ Flag to write new values in compressed format if possible. Has no effect
509
+ unless Compress::Zlib is installed. Default is 0.
510
+
511
+ =item CoordFormat
512
+
513
+ Format for printing GPS coordinates. This is a printf format string with
514
+ specifiers for degrees, minutes and seconds in that order, however minutes
515
+ and seconds may be omitted. If the hemisphere is known, a reference
516
+ direction (N, S, E or W) is appended to each printed coordinate, but adding
517
+ a C<+> to the format specifier (ie. C<%+.6f>) prints a signed coordinate
518
+ instead. For example, the following table gives the output for the same
519
+ coordinate using various formats:
520
+
521
+ CoordFormat Example Output
522
+ ------------------- ------------------
523
+ q{%d deg %d' %.2f"} 54 deg 59' 22.80" (default for reading)
524
+ q{%d %d %.8f} 54 59 22.80000000 (default for copying)
525
+ q{%d deg %.4f min} 54 deg 59.3800 min
526
+ q{%.6f degrees} 54.989667 degrees
527
+
528
+ Note: To avoid loss of precision, the default coordinate format is
529
+ different when copying tags with L</SetNewValuesFromFile>.
530
+
531
+ =item DateFormat
532
+
533
+ Format for printing date/time values. See C<strftime> in the L<POSIX>
534
+ package for details about the format string. The default is similar to a
535
+ format of "%Y:%m:%d %H:%M:%S". If date can not be converted, value is left
536
+ unchanged unless the StrictDate option is set. Timezones are ignored.
537
+
538
+ =item Duplicates
539
+
540
+ Flag to return values from tags with duplicate names when extracting
541
+ information. Default is 1.
542
+
543
+ =item Escape
544
+
545
+ Escape special characters in extracted values for HTML or XML. Also
546
+ unescapes HTML or XML character entities in input values passed to
547
+ L</SetNewValue>. Valid settings are 'HTML', 'XML' or undef. Default is
548
+ undef.
549
+
550
+ =item Exclude
551
+
552
+ Exclude specified tags from tags extracted from an image. The option value
553
+ is either a tag name or reference to a list of tag names to exclude. The
554
+ case of tag names is not significant. This option is ignored for
555
+ specifically requested tags. Tags may also be excluded by preceding their
556
+ name with a '-' in the arguments to L</ImageInfo>.
557
+
558
+ =item ExtractEmbedded
559
+
560
+ Flag to extract information from embedded documents in EPS files, embedded
561
+ EPS information and JPEG and Jpeg2000 images in PDF files, embedded MPF
562
+ images in JPEG and MPO files, streaming metadata in AVCHD videos, and the
563
+ resource fork of Mac OS files. Default is 0.
564
+
565
+ =item FastScan
566
+
567
+ Flag to increase speed of extracting information from JPEG images. With
568
+ this option set to 1, ExifTool will not scan to the end of a JPEG image to
569
+ check for an AFCP, CanonVRD, FotoStation, PhotoMechanic, MIE or PreviewImage
570
+ trailer. This also stops the parsing after the first comment in GIF images,
571
+ and at the audio/video data with RIFF-format files (AVI, WAV, etc), so any
572
+ trailing metadata (ie. XMP written by some utilities) may be missed. When
573
+ combined with the ScanForXMP option, prevents scanning for XMP in recognized
574
+ file types. With a value of 2, ExifTool will also avoid extracting any EXIF
575
+ MakerNote information. Default is 0.
576
+
577
+ =item FixBase
578
+
579
+ Fix maker notes base offset. A common problem with image editing software
580
+ is that offsets in the maker notes are not adjusted properly when the file
581
+ is modified. This may cause the wrong values to be extracted for some maker
582
+ note entries when reading the edited file. FixBase specifies an integer
583
+ value to be added to the maker notes base offset. It may also be set to the
584
+ empty string ('') for ExifTool will take its best guess at the correct base,
585
+ or undef (the default) for no base adjustment.
586
+
587
+ =item GeoMaxIntSecs
588
+
589
+ Maximum interpolation time in seconds for geotagging. Geotagging is treated
590
+ as an extrapolation if the Geotime value lies between two fixes in the same
591
+ track which are separated by a number of seconds greater than this.
592
+ Otherwise, the coordinates are calculated as a linear interpolation between
593
+ the nearest fixes on either side of the Geotime value. Set to 0 to disable
594
+ interpolation and use the coordinates of the nearest fix instead (provided
595
+ it is within GeoMaxExtSecs, otherwise geotagging fails). Default is 1800.
596
+
597
+ =item GeoMaxExtSecs
598
+
599
+ Maximum extrapolation time in seconds for geotagging. Geotagging fails if
600
+ the Geotime value lies outside a GPS track by a number of seconds greater
601
+ than this. Otherwise, the coordinates of the nearest fix are taken.
602
+ Default is 1800.
603
+
604
+ =item GeoMaxHDOP
605
+
606
+ Maximum Horizontal (2D) Dilution Of Precision for geotagging. GPS fixes are
607
+ ignored if the HDOP is greater than this. Default is undef.
608
+
609
+ =item GeoMaxPDOP
610
+
611
+ Maximum Position (3D) Dilution Of Precision for geotagging. GPS fixes are
612
+ ignored if the PDOP is greater than this. Default is undef.
613
+
614
+ =item GeoMinSats
615
+
616
+ Minimum number of satellites for geotagging. GPS fixes are ignored if the
617
+ number of acquired satellites is less than this. Default is undef.
618
+
619
+ =item GoNoInterpolate
620
+
621
+ Disable interpolation for geotagging. With this flag set to 1, geotagging
622
+ uses the nearest fix instead of interpolating between fixes. Default is 0.
623
+
624
+ =item GlobalTimeShift
625
+
626
+ Time shift to apply to all extracted date/time PrintConv values. Does not
627
+ affect ValueConv values. Value is a date/time shift string (see
628
+ L<Image::ExifTool::Shift.pl|Image::ExifTool::Shift.pl>), with a leading '-'
629
+ for negative shifts. Default is undef.
630
+
631
+ =item Group#
632
+
633
+ Extract tags only for specified groups in family # (Group0 assumed if #
634
+ not given). The option value may be a single group name or a reference
635
+ to a list of groups. Case is significant in group names. Specify a group
636
+ to be excluded by preceding group name with a '-'. See L</GetGroup> for a
637
+ description of group families, and L</GetAllGroups [static]> for lists of
638
+ group names.
639
+
640
+ =item HtmlDump
641
+
642
+ Dump information in hex to dynamic HTML web page. The value may be 0-3 for
643
+ increasingly larger limits on the maximum block size. Default is 0. Output
644
+ goes to the file specified by the TextOut option (\*STDOUT by default).
645
+
646
+ =item HtmlDumpBase
647
+
648
+ Base for HTML dump offsets. If not defined, the EXIF/TIFF base offset is
649
+ used. Set to 0 for absolute offsets. Default is undef.
650
+
651
+ =item IgnoreMinorErrors
652
+
653
+ Flag to ignore minor errors. Causes minor errors to be downgraded to
654
+ warnings, and minor warnings to be ignored. This option is provided mainly
655
+ to allow writing of files when minor errors occur, but by ignoring some
656
+ minor warnings the behaviour of ExifTool may be changed to allow some
657
+ questionable operations to proceed (such as extracting thumbnail and preview
658
+ images even if they don't have a recognizable header). Minor errors and
659
+ warnings are denoted by "[minor]" at the start of the message, or "[Minor]"
660
+ (with a capital "M") for warnings that affect processing when ignored.
661
+
662
+ =item Lang
663
+
664
+ Localized language for exiftool tag descriptions, etc. Available languages
665
+ are given by the Image::ExifTool::Lang module names (ie. 'fr', 'zh_cn'). If
666
+ the specified language isn't available, the option is not changed. May be
667
+ set to undef to select the built-in default language. Default is 'en'.
668
+
669
+ =item LargeFileSupport
670
+
671
+ Flag to indicate that 64-bit file offsets are supported on this system.
672
+ Default is 0.
673
+
674
+ =item List
675
+
676
+ Flag to extract lists of PrintConv values into arrays instead of joining
677
+ them into a string of values. The L</ListSep> option specifies the
678
+ separator used when combining values. Default is 0.
679
+
680
+ =item ListSep
681
+
682
+ Separator string used to join lists of PrintConv values when L</List> option
683
+ is not set. Default is ', '.
684
+
685
+ =item ListSplit
686
+
687
+ Regular expression used to split values of list-type tags into individual
688
+ items when writing. (ie. use ',\\s*' to split a comma-separated list.)
689
+ Default is undef.
690
+
691
+ =item MakerNotes
692
+
693
+ Option to extract MakerNotes and other writable subdirectories (such as
694
+ PrintIM) as a data block. Normally when the MakerNotes are extracted they
695
+ are rebuilt to include data outside the boundaries of the original maker
696
+ note data block, but a value of 2 disables this feature. Possible values
697
+ are:
698
+
699
+ 0 - Do not extract writable subdirectories (default)
700
+ 1 - Extract and rebuild maker notes into self-contained block
701
+ 2 - Extract without rebuilding maker notes
702
+
703
+ =item MissingTagValue
704
+
705
+ Value for missing tags in expressions evaluated by L</SetNewValuesFromFile>.
706
+ If not set, a minor error is issued for missing values, or the value is set
707
+ to '' if L</IgnoreMinorErrors> is set. Default is undef.
708
+
709
+ =item Password
710
+
711
+ Password for reading/writing password-protected PDF documents. Ignored if a
712
+ password is not required. Character encoding of the password is determined
713
+ by the value of the Charset option at processing time. Default is undef.
714
+
715
+ =item PrintConv
716
+
717
+ Flag to enable automatic print conversion. Also enables inverse
718
+ print conversion for writing. Default is 1.
719
+
720
+ =item QuickTimeUTC
721
+
722
+ Flag set to assume that QuickTime date/time values are stored as UTC,
723
+ causing conversion to local time when they are extracted. According to the
724
+ QuickTime specification date/time values should be UTC, but many digital
725
+ cameras store local time instead (presumably because they don't know the
726
+ time zone), so the default is 0.
727
+
728
+ =item RequestAll
729
+
730
+ Flag to request all tags to be extracted. This causes some tags to be
731
+ generated which normally would not be unless specifically requested (by
732
+ passing the tag name to ImageInfo or ExtractInfo). Default is 0.
733
+
734
+ =item ScanForXMP
735
+
736
+ Flag for scan all files (even unrecognized formats) for XMP information
737
+ unless XMP was already found in the file. When combined with the FastScan
738
+ option, only unrecognized file types are scanned for XMP. Default is 0.
739
+
740
+ =item Sort
741
+
742
+ Specifies order to sort tags in returned list:
743
+
744
+ Input - Sort in same order as input tag arguments (default)
745
+ File - Sort in order that tags were found in the file
746
+ Tag - Sort alphabetically by tag name
747
+ Descr - Sort by tag description (for current Lang setting)
748
+ Group# - Sort by tag group, where # is zero or more family
749
+ numbers separated by colons. If # is not specified,
750
+ Group0 is assumed. See GetGroup for a description
751
+ of group families.
752
+
753
+ =item Sort2
754
+
755
+ Secondary sort order used for tags within each group when Sort is 'Group':
756
+
757
+ File - Sort in order tags were found in the file (default)
758
+ Tag - Sort alphabetically by tag name
759
+ Descr - Sort by tag description (for current Lang setting)
760
+
761
+ =item StrictDate
762
+
763
+ Flag to return undefined value for any date which can't be converted when
764
+ the DateFormat option is used. Default is undef.
765
+
766
+ =item Struct
767
+
768
+ Flag to return XMP structures as hash references instead of flattening into
769
+ individual tags. Has no effect when writing since both flattened and
770
+ structured tags may always be written. Possible values are:
771
+
772
+ undef - Same as 0 for reading, 2 for copying
773
+ 0 - Read/copy flattened tags
774
+ 1 - Read/copy structured tags
775
+ 2 - Read/copy both flattened and structured tags, but flag
776
+ flattened tags as 'unsafe' for copying
777
+
778
+ =item TextOut
779
+
780
+ Output file reference for Verbose and HtmlDump options. Default is
781
+ \*STDOUT.
782
+
783
+ =item Unknown
784
+
785
+ Flag to get the values of unknown tags. If set to 1, unknown tags are
786
+ extracted from EXIF (or other tagged-format) directories. If set to 2,
787
+ unknown tags are also extracted from binary data blocks. Default is 0.
788
+
789
+ =item Verbose
790
+
791
+ Print verbose messages to file specified by TextOut option. Value may be
792
+ from 0 to 5 for increasingly verbose messages. Default is 0. With the
793
+ verbose option set, messages are printed to the console as the file is
794
+ parsed. Level 1 prints the tag names and raw values. Level 2 adds more
795
+ details about the tags. Level 3 adds a hex dump of the tag data, but with
796
+ limits on the number of bytes dumped. Levels 4 and 5 remove the dump limit
797
+ on tag values and JPEG segment data respectively.
798
+
799
+ =item WriteMode
800
+
801
+ Set tag write/create mode. Value is a string of one or more characters from
802
+ list below. Default is 'wcg'.
803
+
804
+ w - Write existing tags
805
+ c - Create new tags
806
+ g - create new Groups as necessary
807
+
808
+ The level of the group is the SubDirectory level in the metadata structure.
809
+ For XMP or IPTC this is the full XMP/IPTC block (the family 0 group), but
810
+ for EXIF this is the individual IFD (the family 1 group).
811
+
812
+ =item XMPAutoConv
813
+
814
+ Flag to enable automatic conversion for unknown XMP tags with values that
815
+ look like rational numbers or dates. Default is 1.
816
+
817
+ =back
818
+
819
+ =item Return Values:
820
+
821
+ The original value of the last specified parameter.
822
+
823
+ =back
824
+
825
+ =head2 ClearOptions
826
+
827
+ Reset all options to their default values. Loads user-defined default
828
+ option values from the %Image::ExifTool::UserDefined::Options hash in the
829
+ .ExifTool_config file if it exists.
830
+
831
+ $exifTool->ClearOptions();
832
+
833
+ =over 4
834
+
835
+ =item Inputs:
836
+
837
+ 0) ExifTool object reference
838
+
839
+ =item Return Values:
840
+
841
+ (none)
842
+
843
+ =back
844
+
845
+ =head2 ExtractInfo
846
+
847
+ Extract all meta information from an image.
848
+
849
+ $success = $exifTool->ExtractInfo('image.jpg', \%options);
850
+
851
+ =over 4
852
+
853
+ =item Inputs:
854
+
855
+ L</ExtractInfo> takes exactly the same arguments as L</ImageInfo>. The only
856
+ difference is that a list of tag keys is not returned if an ARRAY reference
857
+ is given. The following options are effective in the call to
858
+ L</ExtractInfo>:
859
+
860
+ Binary, Charset, CharsetEXIF, CharsetID3, CharsetIPTC, CharsetPhotoshop,
861
+ CharsetQuickTime, Composite, ExtractEmbedded, FastScan, FixBase, HtmlDump,
862
+ HtmlDumpBase, IgnoreMinorErrors, Lang, LargeFileSupport, MakerNotes,
863
+ ScanForXMP, Struct, TextOut, Unknown and Verbose.
864
+
865
+ =item Return Value:
866
+
867
+ 1 if this was a recognized file format, 0 otherwise (and 'Error' tag set).
868
+
869
+ =back
870
+
871
+ =head2 GetInfo
872
+
873
+ L</GetInfo> is called to return meta information after it has been extracted
874
+ from the image by a previous call to L</ExtractInfo> or L</ImageInfo>. This
875
+ function may be called repeatedly after a single call to L</ExtractInfo> or
876
+ L</ImageInfo>.
877
+
878
+ # get image width and height only
879
+ $info = $exifTool->GetInfo('ImageWidth', 'ImageHeight');
880
+
881
+ # get information for all tags in list (list updated with tags found)
882
+ $info = $exifTool->GetInfo(\@ioTagList);
883
+
884
+ # get all information in Author or Location groups
885
+ $info = $exifTool->GetInfo({Group2 => ['Author', 'Location']});
886
+
887
+ =over 4
888
+
889
+ =item Inputs:
890
+
891
+ Inputs are the same as L</ExtractInfo> and L</ImageInfo> except that an
892
+ image can not be specified. Options in effect are:
893
+
894
+ Charset, CoordFormat, DateFormat, Duplicates, Escape, Exclude, Group#,
895
+ GlobalTimeShift, Lang, List, ListSep, PrintConv, Sort (if a tag list
896
+ reference is given) and StrictDate.
897
+
898
+ =item Return Value:
899
+
900
+ Reference to information hash, the same as with L</ImageInfo>.
901
+
902
+ =back
903
+
904
+ =head2 WriteInfo
905
+
906
+ Write meta information to a file. The specified source file is rewritten to
907
+ the same-type destination file with new information as specified by previous
908
+ calls to L</SetNewValue>. The necessary segments and/or directories are
909
+ created in the destination file as required to store the specified
910
+ information. May be called repeatedly to write the same information to
911
+ additional files without the need to call L</SetNewValue> again.
912
+
913
+ # add information to a source file, writing output to new file
914
+ $exifTool->WriteInfo($srcfile, $dstfile);
915
+
916
+ # create XMP data file from scratch
917
+ $exifTool->WriteInfo(undef, $dstfile, 'XMP');
918
+
919
+ # overwrite file (you do have backups, right?)
920
+ $exifTool->WriteInfo($srcfile);
921
+
922
+ =over 4
923
+
924
+ =item Inputs:
925
+
926
+ 0) ExifTool object reference
927
+
928
+ 1) Source file name, file reference, scalar reference, or undef to create a
929
+ file from scratch
930
+
931
+ 2) [optional] Destination file name, file reference, scalar reference, or
932
+ undef to overwrite the original file
933
+
934
+ 3) [optional] Destination file type
935
+
936
+ =item Return Value:
937
+
938
+ 1 if file was written OK, 2 if file was written but no changes made, 0 on
939
+ file write error.
940
+
941
+ If an error code is returned, an Error tag is set and GetValue('Error') can
942
+ be called to obtain the error description. A Warning tag may be set even if
943
+ this routine is successful. Calling WriteInfo clears any pre-existing Error
944
+ and Warning tags.
945
+
946
+ $errorMessage = $exifTool->GetValue('Error');
947
+ $warningMessage = $exifTool->GetValue('Warning');
948
+
949
+ =item Notes:
950
+
951
+ The source file name may be undefined to create a file from scratch
952
+ (currently only XMP, MIE, ICC, VRD and EXIF files can be created in this way
953
+ -- see L</CanCreate> for details). If undefined, the destination file type
954
+ is required unless the type can be determined from the destination file
955
+ name.
956
+
957
+ If a destination file name is given, the specified file must not exist
958
+ because an existing destination file will not be overwritten. The
959
+ destination file name may be undefined to overwrite the original file (make
960
+ sure you have backups!). In this case, if a source file name is provided, a
961
+ temporary file is created and renamed to replace the source file if no
962
+ errors occurred while writing. Otherwise, if a source file reference or
963
+ scalar reference is used, the image is first written to memory then copied
964
+ back to replace the original if there were no errors.
965
+
966
+ The destination file type is only used if the source file is undefined.
967
+
968
+ On Mac OS systems, the file resource fork is preserved if this routine is
969
+ called with a source file name.
970
+
971
+ =back
972
+
973
+ The following ExifTool options are effective in the call to L</WriteInfo>:
974
+
975
+ ByteOrder, Charset, CharsetEXIF, CharsetIPTC, Compact, Compress, FixBase,
976
+ IgnoreMinorErrors and Verbose.
977
+
978
+ =head2 GetTagList
979
+
980
+ Get a sorted list of tags from the specified information hash or tag list.
981
+
982
+ @tags = $exifTool->GetTagList($info, 'Group0');
983
+
984
+ =over 4
985
+
986
+ =item Inputs:
987
+
988
+ 0) ExifTool object reference,
989
+
990
+ 1) [optional] Information hash reference or tag list reference,
991
+
992
+ 2) [optional] Sort order ('Input', 'File', 'Tag', 'Descr' or 'Group#').
993
+
994
+ 3) [optional] Secondary sort order ('File', 'Tag' or 'Descr').
995
+
996
+ If the information hash or tag list reference is not provided, then the list
997
+ of found tags from the last call to L</ImageInfo>, L</ExtractInfo> or
998
+ L</GetInfo> is used instead, and the result is the same as if
999
+ L</GetFoundTags> was called. If sort order is not specified, the sort order
1000
+ is taken from the current options settings.
1001
+
1002
+ =item Return Values:
1003
+
1004
+ A list of tag keys in the specified order.
1005
+
1006
+ =back
1007
+
1008
+ =head2 GetFoundTags
1009
+
1010
+ Get list of found tags in specified sort order. The found tags are the tags
1011
+ for the information obtained from the most recent call to L</ImageInfo>,
1012
+ L</ExtractInfo> or L</GetInfo> for this object.
1013
+
1014
+ @tags = $exifTool->GetFoundTags('File');
1015
+
1016
+ =over 4
1017
+
1018
+ =item Inputs:
1019
+
1020
+ 0) ExifTool object reference
1021
+
1022
+ 1) [optional] Sort order ('Input', 'File', 'Tag', 'Descr' or 'Group#')
1023
+
1024
+ 2) [optional] Secondary sort order ('File', 'Tag' or 'Descr')
1025
+
1026
+ If sort order is not specified, the sort order from the ExifTool options is
1027
+ used.
1028
+
1029
+ =item Return Values:
1030
+
1031
+ A list of tag keys in the specified order.
1032
+
1033
+ =back
1034
+
1035
+ =head2 GetRequestedTags
1036
+
1037
+ Get list of requested tags. These are the tags that were specified in the
1038
+ arguments of the most recent call to L</ImageInfo>, L</ExtractInfo> or
1039
+ L</GetInfo>, including tags specified via a tag list reference. Shortcut
1040
+ tags are expanded in the list.
1041
+
1042
+ @tags = $exifTool->GetRequestedTags();
1043
+
1044
+ =over 4
1045
+
1046
+ =item Inputs:
1047
+
1048
+ (none)
1049
+
1050
+ =item Return Values:
1051
+
1052
+ List of requested tag keys in the same order that the tags were specified.
1053
+ Note that this list will be empty if tags were not specifically requested
1054
+ (ie. If extracting all tags).
1055
+
1056
+ =back
1057
+
1058
+ =head2 GetValue
1059
+
1060
+ Get the value of a specified tag. The returned value is either the
1061
+ human-readable (PrintConv) value, the converted machine-readable (ValueConv)
1062
+ value, or the original raw (Raw) value. If the value type is not specified,
1063
+ the PrintConv value is returned if the PrintConv option is set, otherwise
1064
+ the ValueConv value is returned. The PrintConv values are same as the
1065
+ values returned by L</ImageInfo> and L</GetInfo> in the tag/value hash
1066
+ unless the PrintConv option is disabled.
1067
+
1068
+ Tags which represent lists of multiple values (as may happen with 'Keywords'
1069
+ for example) are handled specially. In scalar context, the returned
1070
+ PrintConv value for these tags is either a string of values or a list
1071
+ reference (depending on the List option setting), and the ValueConv value is
1072
+ always a list reference. But in list context, L</GetValue> always returns
1073
+ the list itself.
1074
+
1075
+ Note that L</GetValue> requires a case-sensitive tag key as an argument. To
1076
+ retrieve tag information based on a case-insensitive tag name (with an
1077
+ optional group specifier), use L</GetInfo> instead.
1078
+
1079
+ # PrintConv example
1080
+ my $val = $exifTool->GetValue($tag);
1081
+ if (ref $val eq 'SCALAR') {
1082
+ print "$tag = (unprintable value)\n";
1083
+ } else {
1084
+ print "$tag = $val\n";
1085
+ }
1086
+
1087
+ # ValueConv examples
1088
+ my $val = $exifTool->GetValue($tag, 'ValueConv');
1089
+ if (ref $val eq 'ARRAY') {
1090
+ print "$tag is a list of values\n";
1091
+ } elsif (ref $val eq 'SCALAR') {
1092
+ print "$tag represents binary data\n";
1093
+ } else {
1094
+ print "$tag is a simple scalar\n";
1095
+ }
1096
+
1097
+ my @keywords = $exifTool->GetValue('Keywords', 'ValueConv');
1098
+
1099
+ The following options are in effect when L</GetValue> is called:
1100
+
1101
+ Charset, CoordFormat, DateFormat, Escape, GlobalTimeShift, Lang, List,
1102
+ ListSep, PrintConv and StrictDate.
1103
+
1104
+ =over 4
1105
+
1106
+ =item Inputs:
1107
+
1108
+ 0) ExifTool object reference
1109
+
1110
+ 1) Tag key
1111
+
1112
+ 2) [optional] Value type: 'PrintConv', 'ValueConv', 'Both', 'Raw' or
1113
+ 'Rational'
1114
+
1115
+ The default value type is 'PrintConv' if the PrintConv option is set,
1116
+ otherwise the default is 'ValueConv'. A value type of 'Both' returns both
1117
+ ValueConv and PrintConv values as a list. 'Rational' returns the raw
1118
+ rational value as a string fraction for rational types.
1119
+
1120
+ =item Return Values:
1121
+
1122
+ The value of the specified tag. If the tag represents a list of values and
1123
+ the List option is disabled then PrintConv returns a string of values,
1124
+ otherwise a reference to the list is returned in scalar context. The list
1125
+ itself is returned in list context. Values may also be scalar references to
1126
+ binary data, or hash references if the L</Struct> option is set.
1127
+
1128
+ Note: It is possible for L</GetValue> to return an undefined ValueConv or
1129
+ PrintConv value (or an empty list in list context) even if the tag exists,
1130
+ since it is possible for these conversions to yield undefined values. And
1131
+ the Rational value will be undefined for any non-rational tag. The Raw
1132
+ value should always exist if the tag exists.
1133
+
1134
+ =back
1135
+
1136
+ =head2 SetNewValue
1137
+
1138
+ Set the new value for a tag. The routine may be called multiple times to
1139
+ set the values of many tags before using L</WriteInfo> to write the new
1140
+ values to an image.
1141
+
1142
+ For list-type tags (like Keywords), either call repeatedly with the same tag
1143
+ name for each value, or call with a reference to the list of values.
1144
+
1145
+ # set a new value for a tag (errors go to STDERR)
1146
+ $success = $exifTool->SetNewValue($tag, $value);
1147
+
1148
+ # set a new value and capture any error message
1149
+ ($success, $errStr) = $exifTool->SetNewValue($tag, $value);
1150
+
1151
+ # delete information for specified tag if it exists in image
1152
+ # (also resets AddValue and DelValue options for this tag)
1153
+ $exifTool->SetNewValue($tag);
1154
+
1155
+ # reset all values from previous calls to SetNewValue()
1156
+ $exifTool->SetNewValue();
1157
+
1158
+ # delete a specific keyword
1159
+ $exifTool->SetNewValue('Keywords', $word, DelValue => 1);
1160
+
1161
+ # set keywords (a list-type tag) with two new values
1162
+ $exifTool->SetNewValue(Keywords => 'word1');
1163
+ $exifTool->SetNewValue(Keywords => 'word2');
1164
+ # equivalent, but set both in one call using an array reference
1165
+ $exifTool->SetNewValue(Keywords => ['word1','word2']);
1166
+
1167
+ # add a keyword without replacing existing keywords in the file
1168
+ $exifTool->SetNewValue(Keywords => $word, AddValue => 1);
1169
+
1170
+ # set a tag in a specific group
1171
+ $exifTool->SetNewValue(Headline => $val, Group => 'XMP');
1172
+ $exifTool->SetNewValue('XMP:Headline' => $val); # (equivalent)
1173
+
1174
+ # shift original date/time back by 2.5 hours
1175
+ $exifTool->SetNewValue(DateTimeOriginal => '2:30', Shift => -1);
1176
+
1177
+ # write a tag only if it had a specific value
1178
+ # (the order of the following calls is not significant)
1179
+ $exifTool->SetNewValue(Title => $oldVal, DelValue => 1);
1180
+ $exifTool->SetNewValue(Title => $newVal);
1181
+
1182
+ # write tag by numerical value
1183
+ $exifTool->SetNewValue(Orientation => 6, Type => 'ValueConv');
1184
+ $exifTool->SetNewValue('Orientation#' => 6); # (equivalent)
1185
+
1186
+ # delete all but EXIF tags
1187
+ $exifTool->SetNewValue('*'); # delete all...
1188
+ $exifTool->SetNewValue('EXIF:*', undef, Replace => 2); # ...but EXIF
1189
+
1190
+ # write structured information as a HASH reference
1191
+ $exifTool->SetNewValue('XMP:Flash' => {
1192
+ mode => 'on',
1193
+ fired => 'true',
1194
+ return => 'not'
1195
+ });
1196
+
1197
+ # write structured information as a serialized string
1198
+ $exifTool->SetNewValue('XMP:Flash'=>'{mode=on,fired=true,return=not}');
1199
+
1200
+ (See L<http://owl.phy.queensu.ca/~phil/exiftool/struct.html#Serialize> for
1201
+ a description of the structure serialization technique.)
1202
+
1203
+ =over 4
1204
+
1205
+ =item Inputs:
1206
+
1207
+ 0) ExifTool object reference
1208
+
1209
+ 1) [optional] Tag key or tag name, or undef to clear all new values. The
1210
+ tag name may be prefixed by group name, separated by a colon (ie.
1211
+ 'EXIF:Artist'), which is equivalent to using a Group option argument. Also,
1212
+ a '#' may be appended to the tag name (ie. 'EXIF:Orientation#'), with the
1213
+ same effect as setting Type to 'ValueConv'. Wildcards ('*' and '?') may be
1214
+ used in the tag name to assign multiple tags simultaneously. A tag name of
1215
+ '*' is special when deleting information, and will delete an entire group
1216
+ even if some individual tags in the group are not writable. See
1217
+ L<Image::ExifTool::TagNames|Image::ExifTool::TagNames> for a complete list
1218
+ of tag names.
1219
+
1220
+ 2) [optional] New value for tag. Undefined to delete tag from file. May be
1221
+ a scalar, scalar reference, list reference to set a list of values, or hash
1222
+ reference for a structure. Integer values may be specified as a hexadecimal
1223
+ string (with a leading '0x'), and simple rational values may be specified in
1224
+ fractional form (ie. '4/10'). Structure tags may be specified either as a
1225
+ hash reference or a serialized string (see the last two examples above).
1226
+
1227
+ 3-N) [optional] SetNewValue option/value pairs (see below).
1228
+
1229
+ =item SetNewValue Options:
1230
+
1231
+ =over 4
1232
+
1233
+ =item AddValue
1234
+
1235
+ Specifies that the value be added to an existing list in a file rather than
1236
+ overwriting. Valid settings are 0 (overwrite any existing tag value), 1
1237
+ (add to an existing list and warn for non-list tags) or 2 (add to existing
1238
+ list and overwrite non-list tags). Default is 0.
1239
+
1240
+ =item DelValue
1241
+
1242
+ Delete existing tag from a file if it has the specified value. Option
1243
+ values are 0 or 1. Default is 0.
1244
+
1245
+ =item EditGroup
1246
+
1247
+ Create tags in existing groups only. Don't create new group. Valid values
1248
+ are 0 and 1. Effectively removes the 'g' from the ExifTool WriteMode option
1249
+ for this tag only. Default is 0.
1250
+
1251
+ =item EditOnly
1252
+
1253
+ Edit tag only if it already exists. Don't create new tag. Valid values are
1254
+ 0 and 1. Effectively removes the 'c' from the ExifTool WriteMode option for
1255
+ this tag only. Default is 0.
1256
+
1257
+ =item Group
1258
+
1259
+ Specifies group name where tag should be written. If not specified, tag is
1260
+ written to highest priority group as specified by L</SetNewGroups>. Any
1261
+ family 0 or 1 group name may be used. Case is not significant.
1262
+
1263
+ =item NoFlat
1264
+
1265
+ Treat flattened tags as 'unsafe'.
1266
+
1267
+ =item NoShortcut
1268
+
1269
+ Disables default behaviour of looking up tag in shortcuts if not found
1270
+ otherwise.
1271
+
1272
+ =item Protected
1273
+
1274
+ Bit mask for tag protection levels to write. Bit 0x01 allows writing of
1275
+ 'unsafe' tags (ie. tags not copied automatically via
1276
+ L</SetNewValuesFromFile>). Bit 0x02 allows writing of 'protected' tags, and
1277
+ should only be used internally by ExifTool. See
1278
+ L<Image::ExifTool::TagNames|Image::ExifTool::TagNames>, for a list of tag
1279
+ names indicating 'unsafe' and 'protected' tags. Default is 0.
1280
+
1281
+ =item ProtectSaved
1282
+
1283
+ Avoid setting new values which were saved after the Nth call to
1284
+ L</SaveNewValues>. Has no effect on unsaved values, or values saved before
1285
+ Nth call. Option value is N. Default is undef.
1286
+
1287
+ =item Replace
1288
+
1289
+ Flag to replace the previous new values for this tag (ie. replace the values
1290
+ set in previous calls to L</SetNewValue>). This option is most commonly
1291
+ used to replace previously-set new values for list-type tags. Valid values
1292
+ are 0 (set new value normally -- adds to new values for list-type tags), 1
1293
+ (reset previous new values for this tag and replace with the specified new
1294
+ value) or 2 (reset previous new values only).
1295
+
1296
+ =item Shift
1297
+
1298
+ Shift the tag by the specified value. Currently only date/time tags and
1299
+ tags with numerical values may be shifted. Undefined for no shift, 1 for a
1300
+ positive shift, or -1 for a negative shift. A value of 0 causes a positive
1301
+ shift to be applied if the tag is shiftable and AddValue is set, or a
1302
+ negative shift for date/time tags only if DelValue is set. Default is undef.
1303
+ See L<Image::ExifTool::Shift.pl|Image::ExifTool::Shift.pl> for more
1304
+ information.
1305
+
1306
+ =item Type
1307
+
1308
+ The type of value being set. Valid values are PrintConv, ValueConv or Raw.
1309
+ Default is PrintConv if the L</PrintConv> Option is set, otherwise
1310
+ ValueConv.
1311
+
1312
+ =back
1313
+
1314
+ =item Return Values:
1315
+
1316
+ In scalar context, returns the number of tags set and error messages are
1317
+ printed to STDERR. In list context, returns the number of tags set, and the
1318
+ error string (which is undefined if there was no error).
1319
+
1320
+ =item Notes:
1321
+
1322
+ When deleting groups of tags, the Replace option may be used as in the last
1323
+ example above to exclude specific groups from a mass delete. However, this
1324
+ technique may not be used to exclude individual tags. Instead, use
1325
+ L</SetNewValuesFromFile> to recover the values of individual tags after
1326
+ deleting a group.
1327
+
1328
+ When deleting all tags from a JPEG image, the APP14 "Adobe" information is
1329
+ not deleted by default because doing so may affect the appearance of the
1330
+ image. However, this information may be deleted by specifying it
1331
+ explicitly, either by group (with 'Adobe:*') or as a block (with 'Adobe').
1332
+
1333
+ =back
1334
+
1335
+ The following ExifTool options are effective in the call to L</SetNewValue>:
1336
+
1337
+ Charset, Escape, IgnoreMinorErrors, Lang, ListSep, ListSplit, PrintConv,
1338
+ Verbose and WriteMode.
1339
+
1340
+ =head2 SetNewValuesFromFile
1341
+
1342
+ A very powerful routine that sets new values for tags from information found
1343
+ in a specified file.
1344
+
1345
+ # set new values from all information in a file...
1346
+ my $info = $exifTool->SetNewValuesFromFile($srcFile);
1347
+ # ...then write these values to another image
1348
+ my $result = $exifTool->WriteInfo($file2, $outFile);
1349
+
1350
+ # set all new values, preserving original groups
1351
+ $exifTool->SetNewValuesFromFile($srcFile, '*:*');
1352
+
1353
+ # set specific information
1354
+ $exifTool->SetNewValuesFromFile($srcFile, @tags);
1355
+
1356
+ # set new value from a different tag in specific group
1357
+ $exifTool->SetNewValuesFromFile($fp, 'IPTC:Keywords>XMP-dc:Subject');
1358
+
1359
+ # add all IPTC keywords to XMP subject list
1360
+ $exifTool->SetNewValuesFromFile($fp, 'IPTC:Keywords+>XMP-dc:Subject');
1361
+
1362
+ # set new value from an expression involving other tags
1363
+ $exifTool->SetNewValuesFromFile($file,
1364
+ 'Comment<ISO=$ISO Aperture=$aperture Exposure=$shutterSpeed');
1365
+
1366
+ # set keywords list from the values of multiple tags
1367
+ $exifTool->SetNewValuesFromFile($file, { Replace => 0 },
1368
+ 'keywords<xmp:subject', 'keywords<filename');
1369
+
1370
+ # copy all EXIF information, preserving the original IFD
1371
+ # (without '>*.*' tags would be copied to the preferred EXIF IFD)
1372
+ $exifTool->SetNewValuesFromFile($file, 'EXIF:*>*:*');
1373
+
1374
+ # copy all tags with names starting with "gps" (note: this is
1375
+ # different than "gps:*" because it will also copy XMP GPS tags)
1376
+ $exifTool->SetNewValuesFromFile($file, 'gps*');
1377
+
1378
+ # set FileName from Model, translating questionable characters
1379
+ $exifTool->SetNewValuesFromFile($file,
1380
+ 'filename<${model; tr(/\\\\?*:|"><)(_) }.jpg');
1381
+
1382
+ =over 4
1383
+
1384
+ =item Inputs:
1385
+
1386
+ 0) ExifTool object reference
1387
+
1388
+ 1) File name, file reference, or scalar reference
1389
+
1390
+ 2-N) [optional] List of tag names to set or options hash references. All
1391
+ writable tags are set if none are specified. The tag names are not case
1392
+ sensitive, and may be prefixed by an optional family 0 or 1 group name,
1393
+ separated by a colon (ie. 'exif:iso'). A leading '-' indicates tags to be
1394
+ excluded (ie. '-comment'), or a trailing '#' causes the ValueConv value to
1395
+ be copied (same as setting the Type option to 'ValueConv' for this tag
1396
+ only). Wildcards ('*' and '?') may be used in the tag name. A tag name of
1397
+ '*' is commonly used when a group is specified to copy all tags in the group
1398
+ (ie. 'XMP:*'). A special feature allows tag names of the form
1399
+ 'DSTTAGE<lt>SRCTAG' (or 'SRCTAGE<gt>DSTTAG') to be specified to copy information
1400
+ to a tag with a different name or a specified group. Both 'SRCTAG' and
1401
+ 'DSTTAG' may contain wildcards and/or be prefixed by a group name (ie.
1402
+ 'fileModifyDateE<lt>modifyDate' or 'xmp:*E<lt>*'), and/or suffixed by a '#' to
1403
+ disable print conversion. Copied tags may also be added or deleted from a
1404
+ list with arguments of the form 'DSTTAG+E<lt>SRCTAG' or 'DSTTAG-E<lt>SRCTAG'. Tags
1405
+ are evaluated in order, so exclusions apply only to tags included earlier in
1406
+ the list. An extension of this feature allows the tag value to be set from
1407
+ an expression containing tag names with leading '$' symbols (ie.
1408
+ 'CommentE<lt>the file is $filename'). Braces '{}' may be used around the
1409
+ tag name to separate it from subsequent text, and a '$$' is used to to
1410
+ represent a '$' symbol. The behaviour for missing tags in expressions is
1411
+ defined by the L</MissingTagValue> option. The tag value may be modified
1412
+ via changes to the default input variable ($_) in Perl expressions placed
1413
+ inside the braces and after a semicolon following the tag name. Braces
1414
+ within the expression must be balanced. Multiple options hash references
1415
+ may be passed to set different options for different tags. Options apply to
1416
+ subsequent tags in the argument list.
1417
+
1418
+ By default, this routine will commute information between same-named tags in
1419
+ different groups, allowing information to be translated between images with
1420
+ different formats. This behaviour may be modified by specifying a group
1421
+ name for extracted tags (even if '*' is used as a group name), in which case
1422
+ the information is written to the original group, unless redirected to a
1423
+ different group. When '*' is used for a group name, the family 1 group of
1424
+ the original tag is preserved. (For example, specifying '*:*' copies all
1425
+ information while preserving the original family 1 groups.)
1426
+
1427
+ =item SetNewValuesFromFile Options:
1428
+
1429
+ The options are the same was for L</SetNewValue>, and are passed directly
1430
+ to L</SetNewValue> internally, with a few exceptions:
1431
+
1432
+ - The Replace option defaults to 1 instead of 0 as with L</SetNewValue>.
1433
+
1434
+ - The AddValue or DelValue option is set for individual tags if '+>' or '->'
1435
+ (or '+E<lt>' or '-E<lt>') are used.
1436
+
1437
+ - The Group option is set for tags where a group name is given.
1438
+
1439
+ - The Protected flag is set to 1 for individually specified tags.
1440
+
1441
+ - The Type option also applies to extracted tags.
1442
+
1443
+ =item Return Values:
1444
+
1445
+ A hash of information that was set successfully. May include Warning or
1446
+ Error entries if there were problems reading the input file.
1447
+
1448
+ =item Notes:
1449
+
1450
+ The PrintConv option applies to this routine, but it normally should be left
1451
+ on to provide more reliable transfer of information between groups.
1452
+
1453
+ If a preview image exists, it is not copied. The preview image must be
1454
+ transferred separately if desired, in a separate call to L</WriteInfo>
1455
+
1456
+ When simply copying all information between files of the same type, it is
1457
+ usually desirable to preserve the original groups by specifying '*:*' for
1458
+ the tags to set.
1459
+
1460
+ The L</Duplicates> option is always in effect for tags extracted from the
1461
+ source file using this routine.
1462
+
1463
+ The L</Struct> option is enabled by default for tags extracted by this
1464
+ routine. This allows the hierarchy of complex structures to be preserved
1465
+ when copying, but the Struct option may be set to 0 to override this
1466
+ behaviour and copy as flattened tags instead.
1467
+
1468
+ =back
1469
+
1470
+ =head2 GetNewValues
1471
+
1472
+ Get list of new Raw values for the specified tag. These are the values that
1473
+ will be written to file. Most tags return only a single value, but
1474
+ List-type tags may return multiple values.
1475
+
1476
+ $rawVal = $exifTool->GetNewValues($tag);
1477
+
1478
+ @rawVals = $exifTool->GetNewValues($tag);
1479
+
1480
+ =over 4
1481
+
1482
+ =item Inputs:
1483
+
1484
+ 0) ExifTool object reference
1485
+
1486
+ 1) Tag name (case sensitive, may be prefixed by family 0 or 1 group name)
1487
+
1488
+ =item Return Values:
1489
+
1490
+ List of new Raw tag values, or first value in list when called in scalar
1491
+ context. The list may be empty either if the tag isn't being written, or if
1492
+ it is being deleted (ie. if L</SetNewValue> was called without a value).
1493
+
1494
+ =back
1495
+
1496
+ =head2 CountNewValues
1497
+
1498
+ Return the total number of new values set.
1499
+
1500
+ $numSet = $exifTool->CountNewValues();
1501
+ ($numSet, $numPseudo) = $exifTool->CountNewValues();
1502
+
1503
+ =over 4
1504
+
1505
+ =item Inputs:
1506
+
1507
+ 0) ExifTool object reference
1508
+
1509
+ =item Return Values:
1510
+
1511
+ In scalar context, returns the total number of tags with new values set. In
1512
+ list context, also returns the number of "pseudo" tag values which have been
1513
+ set. "Pseudo" tags are tags like FileName and FileModifyDate which are not
1514
+ contained within the file and can be changed without rewriting the file.
1515
+
1516
+ =back
1517
+
1518
+ =head2 SaveNewValues
1519
+
1520
+ Save state of new values to be later restored by L</RestoreNewValues>.
1521
+
1522
+ $exifTool->SaveNewValues(); # save state of new values
1523
+ $exifTool->SetNewValue(ISO => 100); # set new value for ISO
1524
+ $exifTool->WriteInfo($src, $dst1); # write ISO + previous new values
1525
+ $exifTool->RestoreNewValues(); # restore previous new values
1526
+ $exifTool->WriteInfo($src, $dst2); # write previous new values only
1527
+
1528
+ =over 4
1529
+
1530
+ =item Inputs:
1531
+
1532
+ 0) ExifTool object reference
1533
+
1534
+ =item Return Value:
1535
+
1536
+ Count of the number of times this routine has been called (N) since the last
1537
+ time the new values were reset.
1538
+
1539
+ =back
1540
+
1541
+ =head2 RestoreNewValues
1542
+
1543
+ Restore new values to the settings that existed when L</SaveNewValues> was
1544
+ last called. May be called repeatedly after a single call to
1545
+ L</SaveNewValues>. See L</SaveNewValues> above for an example.
1546
+
1547
+ =over 4
1548
+
1549
+ =item Inputs:
1550
+
1551
+ 0) ExifTool object reference
1552
+
1553
+ =item Return Value:
1554
+
1555
+ None.
1556
+
1557
+ =back
1558
+
1559
+ =head2 SetFileModifyDate
1560
+
1561
+ Write the filesystem modification or creation time from the new value of the
1562
+ FileModifyDate or FileCreateDate tag.
1563
+
1564
+ $exifTool->SetNewValue(FileModifyDate => '2000:01:02 03:04:05-05:00',
1565
+ Protected => 1);
1566
+ $result = $exifTool->SetFileModifyDate($file);
1567
+
1568
+ =over 4
1569
+
1570
+ =item Inputs:
1571
+
1572
+ 0) ExifTool object reference
1573
+
1574
+ 1) File name
1575
+
1576
+ 2) [optional] Base time if applying shift (days before $^T)
1577
+
1578
+ 3) [optional] Tag to write: 'FileModifyDate' (default), or 'FileCreateDate'
1579
+
1580
+ =item Return Value:
1581
+
1582
+ 1 if the time was changed, 0 if nothing was done, or -1 if there was an
1583
+ error setting the time.
1584
+
1585
+ =item Notes:
1586
+
1587
+ Equivalent to, but more efficient than calling L</WriteInfo> when only the
1588
+ FileModifyDate or FileCreateDate tag has been set. If a timezone is not
1589
+ specified, local time is assumed. When shifting, the time of the original
1590
+ file is used unless the optional base time is specified.
1591
+
1592
+ The ability to write FileCreateDate is currently restricted to Windows
1593
+ systems only.
1594
+
1595
+ =back
1596
+
1597
+ =head2 SetFileName
1598
+
1599
+ Set the file name and directory. If not specified, the new file name is
1600
+ derived from the new values of the FileName and Directory tags. If the
1601
+ FileName tag contains a '/', then the file is renamed into a new directory.
1602
+ If FileName ends with '/', then it is taken as a directory name and the file
1603
+ is moved into the new directory. The new value for the Directory tag takes
1604
+ precedence over any directory specified in FileName.
1605
+
1606
+ $result = $exifTool->SetFileName($file);
1607
+ $result = $exifTool->SetFileName($file, $newName);
1608
+
1609
+ =over 4
1610
+
1611
+ =item Inputs:
1612
+
1613
+ 0) ExifTool object reference
1614
+
1615
+ 1) Current file name
1616
+
1617
+ 2) [optional] New file name
1618
+
1619
+ =item Return Value:
1620
+
1621
+ 1 if the file name or directory was changed, 0 if nothing was done, or -1 if
1622
+ there was an error renaming the file.
1623
+
1624
+ =item Notes:
1625
+
1626
+ Will not overwrite existing files. New directories are created as necessary.
1627
+
1628
+ =back
1629
+
1630
+ =head2 SetNewGroups
1631
+
1632
+ Set the order of the preferred groups when adding new information. In
1633
+ subsequent calls to L</SetNewValue>, new information will be created in the
1634
+ first valid group of this list. This has an impact only if the group is not
1635
+ specified when calling L</SetNewValue> and if the tag name exists in more
1636
+ than one group. The default order is EXIF, IPTC then XMP. Any family 0
1637
+ group name may be used. Case is not significant.
1638
+
1639
+ $exifTool->SetNewGroups('XMP','EXIF','IPTC');
1640
+
1641
+ =over 4
1642
+
1643
+ =item Inputs:
1644
+
1645
+ 0) ExifTool object reference
1646
+
1647
+ 1-N) Groups in order of priority. If no groups are specified, the priorities
1648
+ are reset to the defaults.
1649
+
1650
+ =item Return Value:
1651
+
1652
+ None.
1653
+
1654
+ =back
1655
+
1656
+ =head2 GetNewGroups
1657
+
1658
+ Get current group priority list.
1659
+
1660
+ @groups = $exifTool->GetNewGroups();
1661
+
1662
+ =over 4
1663
+
1664
+ =item Inputs:
1665
+
1666
+ 0) ExifTool object reference
1667
+
1668
+ =item Return Values:
1669
+
1670
+ List of group names in order of write priority. Highest priority first.
1671
+
1672
+ =back
1673
+
1674
+ =head2 GetTagID
1675
+
1676
+ Get the ID for the specified tag. The ID is the IFD tag number in EXIF
1677
+ information, the property name in XMP information, or the data offset in a
1678
+ binary data block. For some tags, such as Composite tags where there is no
1679
+ ID, an empty string is returned. In list context, also returns a language
1680
+ code for the tag if available and different from the default language (ie.
1681
+ with alternate language entries for XMP "lang-alt" tags).
1682
+
1683
+ $id = $exifTool->GetTagID($tag);
1684
+ ($id, $lang) = $exifTool->GetTagID($tag);
1685
+
1686
+ =over 4
1687
+
1688
+ =item Inputs:
1689
+
1690
+ 0) ExifTool object reference
1691
+
1692
+ 1) Tag key
1693
+
1694
+ =item Return Values:
1695
+
1696
+ In scalar context, returns the tag ID or '' if there is no ID for this tag.
1697
+ In list context, returns the tag ID (or '') and the language code (or
1698
+ undef).
1699
+
1700
+ =back
1701
+
1702
+ =head2 GetDescription
1703
+
1704
+ Get description for specified tag. This function will always return a
1705
+ defined value. In the case where the description doesn't exist, one is
1706
+ generated from the tag name.
1707
+
1708
+ =over 4
1709
+
1710
+ =item Inputs:
1711
+
1712
+ 0) ExifTool object reference
1713
+
1714
+ 1) Tag key
1715
+
1716
+ =item Return Values:
1717
+
1718
+ A description for the specified tag.
1719
+
1720
+ =back
1721
+
1722
+ =head2 GetGroup
1723
+
1724
+ Get group name(s) for a specified tag.
1725
+
1726
+ # return family 0 group name (ie. 'EXIF');
1727
+ $group = $exifTool->GetGroup($tag, 0);
1728
+
1729
+ # return all groups (ie. qw{EXIF IFD0 Author Main})
1730
+ @groups = $exifTool->GetGroup($tag);
1731
+
1732
+ # return groups as a string (ie. 'Main:IFD0:Author')
1733
+ $group = $exifTool->GetGroup($tag, ':3:1:2');
1734
+
1735
+ # return groups as a simplified string (ie. 'IFD0:Author')
1736
+ $group = $exifTool->GetGroup($tag, '3:1:2');
1737
+
1738
+ =over 4
1739
+
1740
+ =item Inputs:
1741
+
1742
+ 0) ExifTool object reference
1743
+
1744
+ 1) Tag key
1745
+
1746
+ 2) [optional] Group family number, or string of numbers separated by colons
1747
+
1748
+ =item Return Values:
1749
+
1750
+ Group name (or '' if tag has no group). If no group family is specified,
1751
+ L</GetGroup> returns the name of the group in family 0 when called in scalar
1752
+ context, or the names of groups for all families in list context. Returns a
1753
+ string of group names separated by colons if the input group family contains
1754
+ a colon. The string is simplified to remove a leading 'Main:' and adjacent
1755
+ identical group names unless the family string begins with a colon.
1756
+
1757
+ =item Notes:
1758
+
1759
+ The group family numbers are currently available:
1760
+
1761
+ 0) Information Type (ie. EXIF, XMP, IPTC)
1762
+ 1) Specific Location (ie. IFD0, XMP-dc)
1763
+ 2) Category (ie. Author, Time)
1764
+ 3) Document Number (ie. Main, Doc1, Doc3-2)
1765
+ 4) Instance Number (ie. Copy1, Copy2, Copy3...)
1766
+
1767
+ Families 0 and 1 are based on the file structure, and are similar except
1768
+ that family 1 is more specific and sub-divides some groups to give more
1769
+ detail about the specific location where the information was found. For
1770
+ example, the EXIF group is split up based on the specific IFD (Image File
1771
+ Directory), the MakerNotes group is divided into groups for each
1772
+ manufacturer, and the XMP group is separated based on the XMP namespace
1773
+ prefix. Note that only common XMP namespaces are listed in the
1774
+ L<GetAllGroups documentation|/GetAllGroups [static]>, but additional
1775
+ namespaces may be present in some XMP data. Also note that the 'XMP-xmp...'
1776
+ group names may appear in the older form 'XMP-xap...' since these names
1777
+ evolved as the XMP standard was developed. The ICC_Profile group is broken
1778
+ down to give information about the specific ICC_Profile tag from which
1779
+ multiple values were extracted. As well, information extracted from the
1780
+ ICC_Profile header is separated into the ICC-header group.
1781
+
1782
+ Family 2 classifies information based on the logical category to which the
1783
+ information refers.
1784
+
1785
+ Family 3 gives the document number for tags extracted from embedded
1786
+ documents, or 'Main' for tags from the main document. (See the
1787
+ L</ExtractEmbedded> option for extracting tags from embedded documents.)
1788
+ Nested sub-documents (if they exist) are indicated by numbers separated with
1789
+ dashes in the group name, to an arbitrary depth. (ie. 'Doc2-3-1' is the 1st
1790
+ sub-sub-document of the 3rd sub-document of the 2nd embedded document of the
1791
+ main file.)
1792
+
1793
+ Family 4 provides a method for differentiating tags when multiple tags exist
1794
+ with the same name in the same location. The primary instance of a tag (the
1795
+ tag extracted when the Duplicates option is disabled and no group is
1796
+ specified) has no family 4 group name, but additional instances have have
1797
+ family 4 group names of 'Copy1', 'Copy2', 'Copy3', etc.
1798
+
1799
+ See L</GetAllGroups [static]> for complete lists of group names.
1800
+
1801
+ =back
1802
+
1803
+ =head2 GetGroups
1804
+
1805
+ Get list of group names that exist in the specified information.
1806
+
1807
+ @groups = $exifTool->GetGroups($info, 2);
1808
+ @groups = $exifTool->GetGroups('3:1');
1809
+
1810
+ =over 4
1811
+
1812
+ =item Inputs:
1813
+
1814
+ 0) ExifTool object reference
1815
+
1816
+ 1) [optional] Info hash ref (default is all extracted info)
1817
+
1818
+ 2) [optional] Group family number, or string of numbers (default 0)
1819
+
1820
+ =item Return Values:
1821
+
1822
+ List of group names in alphabetical order. If information hash is not
1823
+ specified, the group names are returned for all extracted information. See
1824
+ L</GetGroup> for an description of family numbers and family number strings.
1825
+
1826
+ =back
1827
+
1828
+ =head2 BuildCompositeTags
1829
+
1830
+ Builds composite tags from required tags. The composite tags are
1831
+ convenience tags which are derived from the values of other tags. This
1832
+ routine is called automatically by L</ImageInfo> and L</ExtractInfo> if the
1833
+ Composite option is set.
1834
+
1835
+ =over 4
1836
+
1837
+ =item Inputs:
1838
+
1839
+ 0) ExifTool object reference
1840
+
1841
+ =item Return Values:
1842
+
1843
+ (none)
1844
+
1845
+ =item Notes:
1846
+
1847
+ Tag values are calculated in alphabetical order unless a tag Require's or
1848
+ Desire's another composite tag, in which case the calculation is deferred
1849
+ until after the other tag is calculated. Composite tags may need to read
1850
+ data from the image for their value to be determined, so for these
1851
+ L</BuildCompositeTags> must be called while the image is available. This is
1852
+ only a problem if L</ImageInfo> is called with a filename (as opposed to a
1853
+ file reference or scalar reference) since in this case the file is closed
1854
+ before L</ImageInfo> returns. However if you enable the Composite option,
1855
+ L</BuildCompositeTags> is called from within L</ImageInfo> before the file
1856
+ is closed.
1857
+
1858
+ =back
1859
+
1860
+ =head2 GetTagName [static]
1861
+
1862
+ Get name of tag from tag key. This is a convenience function that
1863
+ strips the embedded instance number, if it exists, from the tag key.
1864
+
1865
+ Note: "static" in the heading above indicates that the function does not
1866
+ require an ExifTool object reference as the first argument. All functions
1867
+ documented below are also static.
1868
+
1869
+ $tagName = Image::ExifTool::GetTagName($tag);
1870
+
1871
+ =over 4
1872
+
1873
+ =item Inputs:
1874
+
1875
+ 0) Tag key
1876
+
1877
+ =item Return Value:
1878
+
1879
+ Tag name. This is the same as the tag key but has the instance number
1880
+ removed.
1881
+
1882
+ =back
1883
+
1884
+ =head2 GetShortcuts [static]
1885
+
1886
+ Get a list of shortcut tags.
1887
+
1888
+ =over 4
1889
+
1890
+ =item Inputs:
1891
+
1892
+ (none)
1893
+
1894
+ =item Return Values:
1895
+
1896
+ List of shortcut tags (as defined in Image::ExifTool::Shortcuts).
1897
+
1898
+ =back
1899
+
1900
+ =head2 GetAllTags [static]
1901
+
1902
+ Get list of all available tag names.
1903
+
1904
+ @tagList = Image::ExifTool::GetAllTags($group);
1905
+
1906
+ =over 4
1907
+
1908
+ =item Inputs:
1909
+
1910
+ 0) [optional] Group name, or string of group names separated by colons
1911
+
1912
+ =item Return Values:
1913
+
1914
+ A list of all available tags in alphabetical order, or all tags in a
1915
+ specified group or intersection of groups. The group name is case
1916
+ insensitive, and any group in families 0-2 may be used except for EXIF
1917
+ family 1 groups (ie. the specific IFD).
1918
+
1919
+ =back
1920
+
1921
+ =head2 GetWritableTags [static]
1922
+
1923
+ Get list of all writable tag names.
1924
+
1925
+ @tagList = Image::ExifTool::GetWritableTags($group);
1926
+
1927
+ =over 4
1928
+
1929
+ =item Inputs:
1930
+
1931
+ 0) [optional] Group name, or string of group names separated by colons
1932
+
1933
+ =item Return Values:
1934
+
1935
+ A list of all writable tags in alphabetical order. These are the tags for
1936
+ which values may be set through L</SetNewValue>. If a group name is given,
1937
+ returns only writable tags in specified group(s). The group name is case
1938
+ insensitive, and any group in families 0-2 may be used except for EXIF
1939
+ family 1 groups (ie. the specific IFD).
1940
+
1941
+ =back
1942
+
1943
+ =head2 GetAllGroups [static]
1944
+
1945
+ Get list of all group names in specified family.
1946
+
1947
+ @groupList = Image::ExifTool::GetAllGroups($family);
1948
+
1949
+ =over 4
1950
+
1951
+ =item Inputs:
1952
+
1953
+ 0) Group family number (0-4)
1954
+
1955
+ =item Return Values:
1956
+
1957
+ A list of all groups in the specified family in alphabetical order.
1958
+
1959
+ =back
1960
+
1961
+ Here is a complete list of groups for each of these families:
1962
+
1963
+ =over 4
1964
+
1965
+ =item Family 0 (Information Type):
1966
+
1967
+ AFCP, AIFF, APE, APP0, APP1, APP12, APP13, APP14, APP15, APP4, APP5, APP6,
1968
+ APP8, ASF, CanonVRD, Composite, DICOM, DNG, DV, DjVu, Ducky, EXE, EXIF,
1969
+ ExifTool, FLAC, FLIR File, Flash, FlashPix,, Font, FotoStation, GIF, GIMP,
1970
+ GeoTiff, H264, HTML, ICC_Profile, ID3, IPTC, ITC, JFIF, JPEG, Jpeg2000, LNK,
1971
+ Leaf, M2TS, MIE, MIFF, MNG, MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta,
1972
+ Ogg, OpenEXR, PDF, PICT, PLIST, PNG, PSP, PanasonicRaw, PhotoCD,
1973
+ PhotoMechanic, Photoshop, PostScript, PrintIM, QuickTime, RAF, RIFF, RSRC,
1974
+ RTF, Radiance, Rawzor, Real, SVG, SigmaRaw, Stim, Theora, Vorbis, XML, XMP,
1975
+ ZIP
1976
+
1977
+ =item Family 1 (Specific Location):
1978
+
1979
+ AC3, AFCP, AIFF, APE, ASF, AVI1, Adobe, AdobeCM, AdobeDNG, CIFF, Canon,
1980
+ CanonCustom, CanonRaw, CanonVRD, Casio, Chapter#, Composite, DICOM, DNG, DV,
1981
+ DjVu, DjVu-Meta, Ducky, EPPIM, EXE, EXIF, ExifIFD, ExifTool, FLAC, File,
1982
+ Flash, FlashPix, FLIR, Font, FotoStation, FujiFilm, FujiIFD, GE, GIF, GIMP,
1983
+ GPS, GeoTiff, GlobParamIFD, GraphConv, H264, HP, HTML, HTML-dc, HTML-ncc,
1984
+ HTML-office, HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm, ICC-clrt,
1985
+ ICC-header, ICC-meas, ICC-meta, ICC-view, ICC_Profile, ICC_Profile#, ID3,
1986
+ ID3v1, ID3v1_Enh, ID3v2_2, ID3v2_3, ID3v2_4, IFD0, IFD1, IPTC, IPTC#, ITC,
1987
+ InteropIFD, JFIF, JPEG, JVC, Jpeg2000, KDC_IFD, Kodak, KodakBordersIFD,
1988
+ KodakEffectsIFD, KodakIFD, KyoceraRaw, LNK, Leaf, LeafSubIFD, Leica, M2TS,
1989
+ MAC, MIE-Audio, MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender, MIE-Flash,
1990
+ MIE-GPS, MIE-Geo, MIE-Image, MIE-Lens, MIE-Main, MIE-MakerNotes, MIE-Meta,
1991
+ MIE-Orient, MIE-Preview, MIE-Thumbnail, MIE-UTM, MIE-Unknown, MIE-Video,
1992
+ MIFF, MNG, MPC, MPEG, MPF0, MPImage, MXF, MakerNotes, MakerUnknown,
1993
+ Matroska, MetaIFD, Microsoft, Minolta, MinoltaRaw, NITF, Nikon,
1994
+ NikonCapture, NikonCustom, NikonScan, Ocad, Ogg, Olympus, OpenEXR, PDF,
1995
+ PICT, PLIST, PNG, PSP, Panasonic, PanasonicRaw, Pentax, PhaseOne, PhotoCD,
1996
+ PhotoMechanic, Photoshop, PictureInfo, PostScript, PreviewIFD, PrintIM,
1997
+ ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF,
1998
+ Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP, Real-RA3, Real-RA4,
1999
+ Real-RA5, Real-RJMD, Reconyx, Ricoh, SPIFF, SR2, SR2DataIFD, SR2SubIFD,
2000
+ SRF#, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw, Sony, SonyIDC, Stim,
2001
+ SubIFD, System, Theora, Track#, Version0, Vorbis, XML, XMP, XMP-DICOM,
2002
+ XMP-GPano, XMP-MP, XMP-MP1, XMP-PixelLive, XMP-aas, XMP-acdsee, XMP-album,
2003
+ XMP-apple-fi, XMP-aux, XMP-cc, XMP-cell, XMP-crs, XMP-dc, XMP-dex,
2004
+ XMP-digiKam, XMP-dwc, XMP-exif, XMP-expressionmedia, XMP-extensis, XMP-fpv,
2005
+ XMP-ics, XMP-iptcCore, XMP-iptcExt, XMP-lr, XMP-mediapro, XMP-microsoft,
2006
+ XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-pdf, XMP-pdfx, XMP-photomech,
2007
+ XMP-photoshop, XMP-plus, XMP-prism, XMP-prl, XMP-pur, XMP-rdf, XMP-swf,
2008
+ XMP-tiff, XMP-x, XMP-xmp, XMP-xmpBJ, XMP-xmpDM, XMP-xmpMM, XMP-xmpNote,
2009
+ XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg, ZIP
2010
+
2011
+ =item Family 2 (Category):
2012
+
2013
+ Audio, Author, Camera, Document, ExifTool, Image, Location, Other, Printing,
2014
+ Time, Unknown, Video
2015
+
2016
+ =item Family 3 (Document Number):
2017
+
2018
+ Doc#, Main
2019
+
2020
+ =item Family 4 (Instance Number):
2021
+
2022
+ Copy#
2023
+
2024
+ =back
2025
+
2026
+ =head2 GetDeleteGroups [static]
2027
+
2028
+ Get list of all deletable group names.
2029
+
2030
+ @delGroups = Image::ExifTool::GetDeleteGroups();
2031
+
2032
+ =over 4
2033
+
2034
+ =item Inputs:
2035
+
2036
+ None.
2037
+
2038
+ =item Return Values:
2039
+
2040
+ A list of deletable group names in alphabetical order. The current list of
2041
+ deletable group names is:
2042
+
2043
+ AFCP, CIFF, CanonVRD, EXIF, ExifIFD, Ducky, File, FlashPix, FotoStation,
2044
+ GlobParamIFD, GPS, IFD0, IFD1, InteropIFD, ICC_Profile, IPTC, JFIF,
2045
+ MakerNotes, Meta, MetaIFD, MIE, PhotoMechanic, Photoshop, PNG, PrintIM,
2046
+ RMETA, SubIFD, Trailer, XMP
2047
+
2048
+ All names in this list are either family 0 or family 1 group names, with the
2049
+ exception of 'Trailer' which allows all trailers in JPEG and TIFF-format
2050
+ images to be deleted at once, including unknown trailers. To schedule a
2051
+ group for deletion, call L</SetNewValue> with an undefined value and a tag
2052
+ name like 'Trailer:*'.
2053
+
2054
+ =back
2055
+
2056
+ =head2 GetFileType [static]
2057
+
2058
+ Get type of file given file name.
2059
+
2060
+ my $type = Image::ExifTool::GetFileType($filename);
2061
+ my $desc = Image::ExifTool::GetFileType($filename, 1);
2062
+
2063
+ =over 4
2064
+
2065
+ =item Inputs:
2066
+
2067
+ 0) [optional] File name (or just an extension)
2068
+
2069
+ 1) [optional] Flag to return a description instead of a type. Set to 0 to
2070
+ return type for recognized but unsupported files (otherwise the return value
2071
+ for unsupported files is undef).
2072
+
2073
+ =item Return Value:
2074
+
2075
+ A string, based on the file extension, which indicates the basic format of
2076
+ the file. Note that some files may be based on other formats (like many RAW
2077
+ image formats are based on TIFF). In array context, may return more than
2078
+ one file type if the file may be based on different formats. Returns undef
2079
+ if files with this extension are not yet supported by ExifTool. Returns a
2080
+ list of extensions for all supported file types if no input extension is
2081
+ specified (or all recognized file types if the description flag is set to 0).
2082
+ Returns a more detailed description of the specific file format when the
2083
+ description flag is set.
2084
+
2085
+ =back
2086
+
2087
+ =head2 CanWrite [static]
2088
+
2089
+ Can the specified file be written?
2090
+
2091
+ my $writable = Image::ExifTool::CanWrite($filename);
2092
+
2093
+ =over 4
2094
+
2095
+ =item Inputs:
2096
+
2097
+ 0) File name or extension
2098
+
2099
+ =item Return Value:
2100
+
2101
+ True if ExifTool supports writing files of this type (based on the file
2102
+ extension).
2103
+
2104
+ =back
2105
+
2106
+ =head2 CanCreate [static]
2107
+
2108
+ Can the specified file be created?
2109
+
2110
+ my $creatable = Image::ExifTool::CanCreate($filename);
2111
+
2112
+ =over 4
2113
+
2114
+ =item Inputs:
2115
+
2116
+ 0) File name or extension
2117
+
2118
+ =item Return Value:
2119
+
2120
+ True if ExifTool can create files with this extension from scratch.
2121
+ Currently, this can only be done with XMP, MIE, ICC, VRD and EXIF files.
2122
+
2123
+ =back
2124
+
2125
+ =head2 AddUserDefinedTags [static]
2126
+
2127
+ Add user-defined tags to an existing tag table at run time. This differs
2128
+ from the usual technique of creating user-defined tags via the
2129
+ %Image::ExifTool::UserDefined hash (see the ExifTool_config file in the
2130
+ Image::ExifTool distribution) because it allows tags to be added after the
2131
+ tag table has been initialized.
2132
+
2133
+ use Image::ExifTool ':Public';
2134
+ my %tags = (
2135
+ TestTagID1 => { Name => 'TestTagName1' },
2136
+ TestTagID2 => { Name => 'TestTagName2' },
2137
+ );
2138
+ my $num = AddUserDefinedTags('Image::ExifTool::PDF::Info', %tags);
2139
+
2140
+ =over 4
2141
+
2142
+ =item Inputs:
2143
+
2144
+ 0) Destination tag table name
2145
+
2146
+ 1-N) Pairs of tag ID / tag information hash references for the new tags
2147
+
2148
+ =item Return Value:
2149
+
2150
+ The number of tags added.
2151
+
2152
+ =item Notes
2153
+
2154
+ Pre-existing tags with the same ID will be replaced in the destination
2155
+ table.
2156
+
2157
+ =back
2158
+
2159
+ =head1 CHARACTER ENCODINGS
2160
+
2161
+ Certain meta information formats allow coded character sets other than plain
2162
+ ASCII. When reading, most known encodings are converted to the external
2163
+ character set according to the L</Charset> option, or to UTF-8 by default.
2164
+ When writing, the inverse conversions are performed. Alternatively, special
2165
+ characters may be converted to/from HTML character entities with the
2166
+ L</Escape> HTML option.
2167
+
2168
+ A distinction is made between the external character set visible to via the
2169
+ ExifTool API, and the internal character used to store text in the metadata
2170
+ of a file. These character sets may be specified separately as follows:
2171
+
2172
+ =over 4
2173
+
2174
+ =item External Character Set:
2175
+
2176
+ The encoding for strings passed to/from ExifTool API functions. This is set
2177
+ via the L</Charset> option, which is 'UTF8' by default.
2178
+
2179
+ =item Internal Character Sets:
2180
+
2181
+ The encodings used to store strings in the various metadata formats. These
2182
+ encodings may be changed for certain types of metadata via the
2183
+ L</CharsetEXIF>, L</CharsetID3>, L</CharsetIPTC>, L</CharsetPhotoshop> and
2184
+ L</CharsetQuickTime> options.
2185
+
2186
+ =back
2187
+
2188
+ Values are returned as byte strings of encoded characters. Perl wide
2189
+ characters are not used. By default, most returned strings are encoded in
2190
+ UTF-8. For these, Encode::decode_utf8() may be used to convert to a
2191
+ sequence of logical Perl characters. Note that some settings of the
2192
+ PERL_UNICODE environment variable may be incompatible with ExifTool's
2193
+ character handling.
2194
+
2195
+ More specific details are given below about how character coding is handled
2196
+ for EXIF, IPTC, XMP, PNG, ID3, PDF, Photoshop, QuickTime, AIFF, MIE and
2197
+ Vorbis information:
2198
+
2199
+ =head2 EXIF
2200
+
2201
+ Most textual information in EXIF is stored in "ASCII" format (called
2202
+ "string" in the L<ExifTool tag name documentation|Image::ExifTool::TagNames>).
2203
+ By default ExifTool does not convert these strings. However, it is not
2204
+ uncommon for applications to write UTF-8 or other encodings where ASCII is
2205
+ expected. To deal with these, ExifTool allows the internal EXIF string
2206
+ encoding to be specified with L</CharsetEXIF>, which causes EXIF string
2207
+ values to be converted from the specified character set when reading, and
2208
+ stored with this character set when writing. (The MWG recommends using
2209
+ UTF-8 encoding for EXIF strings, and in keeping with this the
2210
+ L<MWG|Image::ExifTool::MWG> module sets the default internal EXIF string
2211
+ encoding to UTF-8, but note that this will have no effect unless the
2212
+ external encoding is also set to something other than the default of UTF-8.)
2213
+
2214
+ A few EXIF tags (UserComment, GPSProcessingMethod and GPSAreaInformation)
2215
+ support a designated internal text encoding, with values stored as ASCII,
2216
+ Unicode (UCS-2) or JIS. When reading these tags, ExifTool converts Unicode
2217
+ and JIS to the external character set specified by the L</Charset>
2218
+ option, or to UTF-8 by default. ASCII text is not converted. When writing,
2219
+ text is stored as ASCII unless the string contains special characters, in
2220
+ which case it is converted from the external character set (or UTF-8 by
2221
+ default), and stored as Unicode. ExifTool writes Unicode in native EXIF byte
2222
+ ordering by default, but the byte order may be specified by setting the
2223
+ ExifUnicodeByteOrder tag (see the
2224
+ L<Extra Tags documentation|Image::ExifTool::TagNames/Extra Tags>).
2225
+
2226
+ The EXIF "XP" tags (XPTitle, XPComment, etc) are always stored as
2227
+ little-endian Unicode (UCS-2), and are read and written using the specified
2228
+ character set.
2229
+
2230
+ =head2 IPTC
2231
+
2232
+ The value of the IPTC:CodedCharacterSet tag determines how the internal IPTC
2233
+ string values are interpreted. If CodedCharacterSet exists and has a value
2234
+ of 'UTF8' (or 'ESC % G') then string values are assumed to be stored as
2235
+ UTF-8, otherwise Windows Latin1 (cp1252, 'Latin') coding is assumed by
2236
+ default, but this can be changed with the L</CharsetIPTC> option. When
2237
+ reading, these strings are converted to the character set specified by the
2238
+ L</Charset> option. When writing, the inverse conversions are performed.
2239
+ No conversion is done if the internal (IPTC) and external (ExifTool)
2240
+ character sets are the same. Note that ISO 2022 character set shifting is
2241
+ not supported. Instead, a warning is issued and the string is not converted
2242
+ if an ISO 2022 shift code is encountered. See L<http://www.iptc.org/IIM/>
2243
+ for the official IPTC specification.
2244
+
2245
+ Unless CodedCharacterSet is 'UTF8', applications have no reliable way to
2246
+ determine the IPTC character encoding. For this reason, it is recommended
2247
+ that CodedCharacterSet be set to 'UTF8' when creating new IPTC.
2248
+
2249
+ (Note: Here, "IPTC" Refers to the older IPTC IIM format. The more recent
2250
+ IPTC Core and Extension specifications actually use the XMP format.)
2251
+
2252
+ =head2 XMP
2253
+
2254
+ Exiftool reads XMP encoded as UTF-8, UTF-16 or UTF-32, and converts them all
2255
+ to UTF-8 internally. Also, all XML character entity references and numeric
2256
+ character references are converted. When writing, ExifTool always encodes
2257
+ XMP as UTF-8, converting the following 5 characters to XML character
2258
+ references: E<amp> E<lt> E<gt> E<39> E<quot>. By default no further
2259
+ conversion is performed, however if the L</Charset> option is other than
2260
+ 'UTF8' then text is converted to/from a specified character set when
2261
+ reading/writing.
2262
+
2263
+ =head2 PNG
2264
+
2265
+ L<PNG TextualData tags|Image::ExifTool::TagNames/"PNG TextualData Tags"> are
2266
+ stored as tEXt, zTXt and iTXt chunks in PNG images. The tEXt and zTXt
2267
+ chunks use ISO 8859-1 encoding, while iTXt uses UTF-8. When reading,
2268
+ ExifTool converts all PNG textual data to the character set specified by the
2269
+ L</Charset> option. When writing, ExifTool generates a tEXt chunk (or zTXt
2270
+ with the L</Compress> option) if the text doesn't contain special characters
2271
+ or if Latin encoding is specified; otherwise an iTXt chunk is used and the
2272
+ text is converted from the specified character set and stored as UTF-8.
2273
+
2274
+ =head2 ID3
2275
+
2276
+ The ID3v1 specification officially supports only ISO 8859-1 encoding (a
2277
+ subset of Windows Latin1), although some applications may incorrectly use
2278
+ other character sets. By default ExifTool converts ID3v1 text from Latin to
2279
+ the character set specified by the L</Charset> option. However, the
2280
+ internal ID3v1 charset may be specified with the L</CharsetID3> option. The
2281
+ encoding for ID3v2 information is stored in the file, so ExifTool converts
2282
+ ID3v2 text from this encoding to the character set specified by the
2283
+ L</Charset> option. ExifTool does not currently write ID3 information.
2284
+
2285
+ =head2 PDF
2286
+
2287
+ PDF text strings are stored in either PDFDocEncoding (similar to Windows
2288
+ Latin1) or Unicode (UCS-2). When reading, ExifTool converts to the
2289
+ character set specified by the L</Charset> option. When writing, ExifTool
2290
+ encodes input text from the specified character set as Unicode only if the
2291
+ string contains special characters, otherwise PDFDocEncoding is used.
2292
+
2293
+ =head2 Photoshop
2294
+
2295
+ Some Photoshop resource names are stored as Pascal strings with unknown
2296
+ encoding. By default, ExifTool assumes MacRoman encoding and converts this
2297
+ to UTF-8, but the internal and external character sets may be specified with
2298
+ L</CharsetPhotoshop> and L</Charset> options respectively.
2299
+
2300
+ =head2 QuickTime
2301
+
2302
+ QuickTime text strings may be stored in a variety of poorly document
2303
+ formats. ExifTool does its best to decode these according to the L</Charset>
2304
+ option setting. For some QuickTime strings, ExifTool assumes a default
2305
+ encoding of MacRoman, but this may be changed with the L</CharsetQuickTime>
2306
+ option.
2307
+
2308
+ =head2 AIFF
2309
+
2310
+ AIFF strings are assumed to be stored in MacRoman, and are converted
2311
+ according to the L</Charset> option when reading.
2312
+
2313
+ =head2 MIE
2314
+
2315
+ MIE strings are stored as either UTF-8 or ISO 8859-1. When reading, UTF-8
2316
+ strings are converted according to the L</Charset> option, and ISO 8859-1
2317
+ strings are never converted. When writing, input strings are converted from
2318
+ the specified character set to UTF-8. The resulting strings are stored as
2319
+ UTF-8 if they contain multi-byte UTF-8 character sequences, otherwise they
2320
+ are stored as ISO 8859-1.
2321
+
2322
+ =head2 Vorbis
2323
+
2324
+ Vorbis comments are stored as UTF-8, and are converted to the character set
2325
+ specified by the L</Charset> option.
2326
+
2327
+ =head1 AUTHOR
2328
+
2329
+ Copyright 2003-2013, Phil Harvey
2330
+
2331
+ This library is free software; you can redistribute it and/or modify it
2332
+ under the same terms as Perl itself.
2333
+
2334
+ =head1 ACKNOWLEDGEMENTS
2335
+
2336
+ Many people have helped in the development of ExifTool through their bug
2337
+ reports, comments and suggestions, and/or additions to the code. See the
2338
+ ACKNOWLEDGEMENTS in the individual Image::ExifTool modules and in
2339
+ html/index.html of the Image::ExifTool distribution package for a list of
2340
+ people who have contributed to this project.
2341
+
2342
+ =head1 SEE ALSO
2343
+
2344
+ L<exiftool(1)|exiftool>,
2345
+ L<Image::ExifTool::TagNames(3pm)|Image::ExifTool::TagNames>,
2346
+ L<Image::ExifTool::Shortcuts(3pm)|Image::ExifTool::Shortcuts>,
2347
+ L<Image::ExifTool::Shift.pl|Image::ExifTool::Shift.pl>,
2348
+ L<Image::Info(3pm)|Image::Info>,
2349
+ L<Image::MetaData::JPEG(3pm)|Image::MetaData::JPEG>
2350
+
2351
+ =cut
2352
+
2353
+ # end