exiftool_vendored 13.18.0 → 13.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/Changes +40 -3
- data/bin/MANIFEST +7 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +138 -64
- data/bin/lib/Image/ExifTool/DJI.pm +179 -29
- data/bin/lib/Image/ExifTool/EXE.pm +2 -9
- data/bin/lib/Image/ExifTool/GoPro.pm +28 -0
- data/bin/lib/Image/ExifTool/ICO.pm +2 -2
- data/bin/lib/Image/ExifTool/JSON.pm +5 -1
- data/bin/lib/Image/ExifTool/Kodak.pm +3 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +808 -524
- data/bin/lib/Image/ExifTool/Olympus.pm +2 -1
- data/bin/lib/Image/ExifTool/PDF.pm +10 -1
- data/bin/lib/Image/ExifTool/PLIST.pm +91 -28
- data/bin/lib/Image/ExifTool/Plot.pm +492 -0
- data/bin/lib/Image/ExifTool/Protobuf.pm +22 -11
- data/bin/lib/Image/ExifTool/QuickTime.pm +58 -41
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +75 -27
- data/bin/lib/Image/ExifTool/RIFF.pm +3 -3
- data/bin/lib/Image/ExifTool/Sony.pm +16 -10
- data/bin/lib/Image/ExifTool/TagLookup.pm +5002 -4964
- data/bin/lib/Image/ExifTool/TagNames.pod +259 -112
- data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +45 -2
- data/bin/lib/Image/ExifTool/Writer.pl +0 -1
- data/bin/lib/Image/ExifTool/XMP.pm +18 -4
- data/bin/lib/Image/ExifTool.pm +20 -6
- data/bin/lib/Image/ExifTool.pod +27 -0
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
@@ -50,7 +50,7 @@ use Image::ExifTool::Exif;
|
|
50
50
|
use Image::ExifTool::GPS;
|
51
51
|
require Exporter;
|
52
52
|
|
53
|
-
$VERSION = '3.
|
53
|
+
$VERSION = '3.71';
|
54
54
|
@ISA = qw(Exporter);
|
55
55
|
@EXPORT_OK = qw(EscapeXML UnescapeXML);
|
56
56
|
|
@@ -165,7 +165,7 @@ my %xmpNS = (
|
|
165
165
|
#
|
166
166
|
plus => 'http://ns.useplus.org/ldf/xmp/1.0/',
|
167
167
|
# (prism recommendations from http://www.prismstandard.org/specifications/3.0/Image_Guide_3.0.htm)
|
168
|
-
prism => 'http://prismstandard.org/namespaces/basic/2.0/',
|
168
|
+
prism => 'http://prismstandard.org/namespaces/basic/2.0/', # (maybe left at 2.0 to avoid compatibility issues -- think hard before changing this)
|
169
169
|
prl => 'http://prismstandard.org/namespaces/prl/2.1/',
|
170
170
|
pur => 'http://prismstandard.org/namespaces/prismusagerights/2.1/',
|
171
171
|
pmi => 'http://prismstandard.org/namespaces/pmi/2.2/',
|
@@ -1247,8 +1247,22 @@ my %sPantryItem = (
|
|
1247
1247
|
NAMESPACE => 'pdfx',
|
1248
1248
|
NOTES => q{
|
1249
1249
|
PDF extension tags. This namespace is used to store application-defined PDF
|
1250
|
-
information, so there are
|
1251
|
-
created to enable writing of XMP-pdfx information.
|
1250
|
+
information, so there are few pre-defined tags. User-defined tags must be
|
1251
|
+
created to enable writing of other XMP-pdfx information.
|
1252
|
+
},
|
1253
|
+
SourceModified => {
|
1254
|
+
Name => 'SourceModified',
|
1255
|
+
Groups => { 2 => 'Time' },
|
1256
|
+
Shift => 'Time',
|
1257
|
+
ValueConv => 'require Image::ExifTool::PDF; $val = Image::ExifTool::PDF::ConvertPDFDate($val)',
|
1258
|
+
ValueConvInv => q{
|
1259
|
+
require Image::ExifTool::PDF;
|
1260
|
+
$val = Image::ExifTool::PDF::WritePDFValue($self,$val,"date");
|
1261
|
+
$val =~ tr/()//d;
|
1262
|
+
return $val;
|
1263
|
+
},
|
1264
|
+
PrintConv => '$self->ConvertDateTime($val)',
|
1265
|
+
PrintConvInv => '$self->InverseDateTime($val)',
|
1252
1266
|
},
|
1253
1267
|
);
|
1254
1268
|
|
data/bin/lib/Image/ExifTool.pm
CHANGED
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
29
29
|
%jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
|
30
30
|
%static_vars $advFmtSelf);
|
31
31
|
|
32
|
-
$VERSION = '13.
|
32
|
+
$VERSION = '13.21';
|
33
33
|
$RELEASE = '';
|
34
34
|
@ISA = qw(Exporter);
|
35
35
|
%EXPORT_TAGS = (
|
@@ -1152,6 +1152,7 @@ my @availableOptions = (
|
|
1152
1152
|
[ 'NoPDFList', undef, 'flag to avoid splitting PDF List-type tag values' ],
|
1153
1153
|
[ 'NoWarning', undef, 'regular expression for warnings to suppress' ],
|
1154
1154
|
[ 'Password', undef, 'password for password-protected PDF documents' ],
|
1155
|
+
[ 'Plot', undef, 'SVG plot settings' ],
|
1155
1156
|
[ 'PrintCSV', undef, 'flag to print CSV directly (selected metadata types only)' ],
|
1156
1157
|
[ 'PrintConv', 1, 'flag to enable print conversion' ],
|
1157
1158
|
[ 'QuickTimeHandler', 1, 'flag to add mdir Handler to newly created Meta box' ],
|
@@ -2587,6 +2588,10 @@ sub Options($$;@)
|
|
2587
2588
|
} else {
|
2588
2589
|
warn("Can't set $param to undef\n");
|
2589
2590
|
}
|
2591
|
+
} elsif ($param eq 'Plot') {
|
2592
|
+
# add to existing plot settings
|
2593
|
+
$newVal = "$oldVal,$newVal" if defined $oldVal and defined $newVal;
|
2594
|
+
$$options{$param} = $newVal;
|
2590
2595
|
} elsif (lc $param eq 'geodir') {
|
2591
2596
|
$Image::ExifTool::Geolocation::geoDir = $newVal;
|
2592
2597
|
} else {
|
@@ -9151,10 +9156,11 @@ sub AddTagToTable($$;$$)
|
|
9151
9156
|
# Handle simple extraction of new tag information
|
9152
9157
|
# Inputs: 0) ExifTool object ref, 1) tag table reference, 2) tagID, 3) value,
|
9153
9158
|
# 4-N) parameters hash: Index, DataPt, DataPos, Base, Start, Size, Parent,
|
9154
|
-
# TagInfo, ProcessProc, RAF, Format, Count
|
9159
|
+
# TagInfo, ProcessProc, RAF, Format, Count, MakeTagInfo
|
9155
9160
|
# Returns: tag key or undef if tag not found
|
9156
9161
|
# Notes: if value is not defined, it is extracted from DataPt using TagInfo
|
9157
9162
|
# Format and Count if provided
|
9163
|
+
# - set MakeTagInfo to add tag info for unknown tags with name made from tag ID
|
9158
9164
|
sub HandleTag($$$$;%)
|
9159
9165
|
{
|
9160
9166
|
my ($self, $tagTablePtr, $tag, $val, %parms) = @_;
|
@@ -9166,6 +9172,14 @@ sub HandleTag($$$$;%)
|
|
9166
9172
|
|
9167
9173
|
if ($tagInfo) {
|
9168
9174
|
$subdir = $$tagInfo{SubDirectory};
|
9175
|
+
} elsif ($parms{MakeTagInfo}) {
|
9176
|
+
$self->VPrint(0, $$self{INDENT}, "[adding $tag]\n") if $verbose;
|
9177
|
+
my $name = $tag;
|
9178
|
+
$name =~ s/([^A-Za-z])([a-z])/$1\u$2/g; # capitalize words
|
9179
|
+
$name =~ tr/-_a-zA-Z0-9//dc; # remove illegal characters
|
9180
|
+
$name = "Tag$name" if length($name) < 2 or $name =~ /^[-0-9]/;
|
9181
|
+
$tagInfo = { Name => ucfirst($name) };
|
9182
|
+
AddTagToTable($tagTablePtr, $tag, $tagInfo);
|
9169
9183
|
} else {
|
9170
9184
|
return undef unless $verbose;
|
9171
9185
|
$tagInfo = { Name => "tag $tag" }; # create temporary tagInfo hash
|
@@ -9223,10 +9237,11 @@ sub HandleTag($$$$;%)
|
|
9223
9237
|
}
|
9224
9238
|
$self->Warn("RawConv $tag: " . CleanWarning()) if $evalWarning;
|
9225
9239
|
return undef unless defined $val;
|
9226
|
-
$
|
9227
|
-
$dataPt = \$val;
|
9240
|
+
$dataPt = ref $val eq 'SCALAR' ? $val : \$val;
|
9228
9241
|
$subdirStart = 0;
|
9229
|
-
$subdirLen = length
|
9242
|
+
$subdirLen = length $$dataPt;
|
9243
|
+
} elsif (not $dataPt) {
|
9244
|
+
$dataPt = ref $val eq 'SCALAR' ? $val : \$val;
|
9230
9245
|
}
|
9231
9246
|
if ($$subdir{Start}) {
|
9232
9247
|
my $valuePtr = 0;
|
@@ -9235,7 +9250,6 @@ sub HandleTag($$$$;%)
|
|
9235
9250
|
$subdirStart += $off;
|
9236
9251
|
$subdirLen -= $off;
|
9237
9252
|
}
|
9238
|
-
$dataPt or $dataPt = \$val;
|
9239
9253
|
# process subdirectory information
|
9240
9254
|
my %dirInfo = (
|
9241
9255
|
DirName => $$subdir{DirName} || $$tagInfo{Name},
|
data/bin/lib/Image/ExifTool.pod
CHANGED
@@ -993,6 +993,33 @@ Password for reading/writing password-protected PDF documents. Ignored if a
|
|
993
993
|
password is not required. Character encoding of the password is determined
|
994
994
|
by the value of the Charset option at processing time. Default is undef.
|
995
995
|
|
996
|
+
=item Plot
|
997
|
+
|
998
|
+
Settings to override defaults for SVG plot feature. Value is a comma
|
999
|
+
delimited string of settings, or undef to revert to default settings.
|
1000
|
+
Settings are accumulated if this option is set multiple times. Commas in
|
1001
|
+
the settings must be escaped as ",". Valid settings and their default
|
1002
|
+
values are:
|
1003
|
+
|
1004
|
+
"Type=Line" - plot type (Line, Scatter or Histogram)
|
1005
|
+
"Style=Line" - data style (Line, Marker and/or Fill)
|
1006
|
+
"NBins=20" - number of bins for histogram plot
|
1007
|
+
"Size=800 600" - width,height of output image
|
1008
|
+
"Margin=60 15 15 30" - left,top,right,bottom margins around plot area
|
1009
|
+
"Legend=0 0" - x,y offset to shift plot legend
|
1010
|
+
"TxtPad=10 10" - padding between text and x,y scale
|
1011
|
+
"LineSpacing=20" - spacing between text lines
|
1012
|
+
Title, XLabel, YLabel - plot title and x/y axis labels (no default)
|
1013
|
+
XMin, XMax - x axis minimum/maximum (autoscaling if not set)
|
1014
|
+
YMin, YMax - y axis minimum/maximum
|
1015
|
+
Split - flag to split strings of numbers into lists
|
1016
|
+
(> 1 to split into lists of N items)
|
1017
|
+
"Grid=darkgray" - grid color
|
1018
|
+
"Text=black" - color of text and plot border
|
1019
|
+
"Bkg=" - background color (default is transparent)
|
1020
|
+
"Cols=red green blue black orange gray purple cyan brown pink"
|
1021
|
+
- colors for plot data
|
1022
|
+
|
996
1023
|
=item PrintConv
|
997
1024
|
|
998
1025
|
Flag to enable automatic print conversion. Also enables inverse
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exiftool_vendored
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 13.
|
4
|
+
version: 13.21.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew McEachen
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2025-
|
12
|
+
date: 2025-03-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: exiftool
|
@@ -256,6 +256,7 @@ files:
|
|
256
256
|
- bin/lib/Image/ExifTool/PhotoCD.pm
|
257
257
|
- bin/lib/Image/ExifTool/PhotoMechanic.pm
|
258
258
|
- bin/lib/Image/ExifTool/Photoshop.pm
|
259
|
+
- bin/lib/Image/ExifTool/Plot.pm
|
259
260
|
- bin/lib/Image/ExifTool/PostScript.pm
|
260
261
|
- bin/lib/Image/ExifTool/PrintIM.pm
|
261
262
|
- bin/lib/Image/ExifTool/Protobuf.pm
|