exiftool-vendored.pl 12.91.0 → 12.97.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.
- package/bin/Changes +58 -3
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +2 -2
- package/bin/exiftool +41 -57
- package/bin/lib/Image/ExifTool/Canon.pm +136 -3
- package/bin/lib/Image/ExifTool/Font.pm +15 -4
- package/bin/lib/Image/ExifTool/FujiFilm.pm +23 -1
- package/bin/lib/Image/ExifTool/Geotag.pm +19 -5
- package/bin/lib/Image/ExifTool/InDesign.pm +17 -3
- package/bin/lib/Image/ExifTool/Jpeg2000.pm +3 -3
- package/bin/lib/Image/ExifTool/Nikon.pm +356 -62
- package/bin/lib/Image/ExifTool/NikonCustom.pm +421 -11
- package/bin/lib/Image/ExifTool/NikonSettings.pm +56 -1
- package/bin/lib/Image/ExifTool/OpenEXR.pm +3 -1
- package/bin/lib/Image/ExifTool/PostScript.pm +3 -12
- package/bin/lib/Image/ExifTool/QuickTime.pm +34 -14
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +118 -37
- package/bin/lib/Image/ExifTool/Samsung.pm +5 -3
- package/bin/lib/Image/ExifTool/TagLookup.pm +6935 -6904
- package/bin/lib/Image/ExifTool/TagNames.pod +293 -7
- package/bin/lib/Image/ExifTool/WriteQuickTime.pl +48 -16
- package/bin/lib/Image/ExifTool/Writer.pl +8 -54
- package/bin/lib/Image/ExifTool/XMP2.pl +1 -1
- package/bin/lib/Image/ExifTool.pm +66 -4
- package/bin/perl-Image-ExifTool.spec +1 -1
- package/bin/windows_exiftool.txt +2836 -0
- package/package.json +3 -3
|
@@ -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 = '12.
|
|
32
|
+
$VERSION = '12.97';
|
|
33
33
|
$RELEASE = '';
|
|
34
34
|
@ISA = qw(Exporter);
|
|
35
35
|
%EXPORT_TAGS = (
|
|
@@ -1873,9 +1873,10 @@ my %systemTagsNotes = (
|
|
|
1873
1873
|
this write-only tag is used to define the GPS track log data or track log
|
|
1874
1874
|
file name. Currently supported track log formats are GPX, NMEA RMC/GGA/GLL,
|
|
1875
1875
|
KML, IGC, Garmin XML and TCX, Magellan PMGNTRK, Honeywell PTNTHPR, Winplus
|
|
1876
|
-
Beacon text,
|
|
1877
|
-
"DATETIMEONLY" (all caps) to set GPS date/time tags
|
|
1878
|
-
are available. See L<geotag.html|../geotag.html>
|
|
1876
|
+
Beacon text, Bramor gEO, Google Takeout JSON, and CSV log files. May be set
|
|
1877
|
+
to the special value of "DATETIMEONLY" (all caps) to set GPS date/time tags
|
|
1878
|
+
if no input track points are available. See L<geotag.html|../geotag.html>
|
|
1879
|
+
for details
|
|
1879
1880
|
},
|
|
1880
1881
|
DelCheck => q{
|
|
1881
1882
|
require Image::ExifTool::Geotag;
|
|
@@ -4734,6 +4735,56 @@ sub IsDirectory($$)
|
|
|
4734
4735
|
return 0;
|
|
4735
4736
|
}
|
|
4736
4737
|
|
|
4738
|
+
#------------------------------------------------------------------------------
|
|
4739
|
+
# Create directory for specified file
|
|
4740
|
+
# Inputs: 0) ExifTool ref, 1) complete file name including path
|
|
4741
|
+
# Returns: '' = directory created, undef = nothing done, otherwise error string
|
|
4742
|
+
my $k32CreateDir;
|
|
4743
|
+
sub CreateDirectory($$)
|
|
4744
|
+
{
|
|
4745
|
+
local $_;
|
|
4746
|
+
my ($self, $file) = @_;
|
|
4747
|
+
my ($err, $dir);
|
|
4748
|
+
($dir = $file) =~ s/[^\/]*$//; # remove filename from path specification
|
|
4749
|
+
if ($dir and not $self->IsDirectory($dir)) {
|
|
4750
|
+
my @parts = split /\//, $dir;
|
|
4751
|
+
$dir = '';
|
|
4752
|
+
foreach (@parts) {
|
|
4753
|
+
$dir .= $_;
|
|
4754
|
+
if (length and not $self->IsDirectory($dir) and
|
|
4755
|
+
# don't try to create a network drive root directory
|
|
4756
|
+
not (IsPC() and $dir =~ m{^//[^/]*$}))
|
|
4757
|
+
{
|
|
4758
|
+
my $success;
|
|
4759
|
+
# create directory since it doesn't exist
|
|
4760
|
+
my $d2 = $dir; # (must make a copy in case EncodeFileName recodes it)
|
|
4761
|
+
if ($self->EncodeFileName($d2)) {
|
|
4762
|
+
# handle Windows Unicode directory names
|
|
4763
|
+
unless (eval { require Win32::API }) {
|
|
4764
|
+
$err = 'Install Win32::API to create directories with Unicode names';
|
|
4765
|
+
last;
|
|
4766
|
+
}
|
|
4767
|
+
unless (defined $k32CreateDir) {
|
|
4768
|
+
$k32CreateDir = Win32::API->new('KERNEL32', 'CreateDirectoryW', 'PP', 'I');
|
|
4769
|
+
unless ($k32CreateDir) {
|
|
4770
|
+
$k32CreateDir = 0;
|
|
4771
|
+
# give this error once, then just "Error creating" for subsequent attempts
|
|
4772
|
+
return 'Error accessing Win32::API::CreateDirectoryW';
|
|
4773
|
+
}
|
|
4774
|
+
}
|
|
4775
|
+
$success = $k32CreateDir->Call($d2, 0) if $k32CreateDir;
|
|
4776
|
+
} else {
|
|
4777
|
+
$success = mkdir($d2, 0777);
|
|
4778
|
+
}
|
|
4779
|
+
$success or $err = "Error creating directory $dir", last;
|
|
4780
|
+
$err = '';
|
|
4781
|
+
}
|
|
4782
|
+
$dir .= '/';
|
|
4783
|
+
}
|
|
4784
|
+
}
|
|
4785
|
+
return $err;
|
|
4786
|
+
}
|
|
4787
|
+
|
|
4737
4788
|
#------------------------------------------------------------------------------
|
|
4738
4789
|
# Get file times (Unix seconds since the epoch)
|
|
4739
4790
|
# Inputs: 0) ExifTool ref, 1) file name or ref
|
|
@@ -5648,6 +5699,17 @@ sub SetupTagTable($)
|
|
|
5648
5699
|
}
|
|
5649
5700
|
}
|
|
5650
5701
|
|
|
5702
|
+
#------------------------------------------------------------------------------
|
|
5703
|
+
# Is this a PC system?
|
|
5704
|
+
# Returns: true for PC systems
|
|
5705
|
+
# uses lookup for O/S names which may use a backslash as a directory separator
|
|
5706
|
+
# (ref File::Spec of PathTools-3.2701)
|
|
5707
|
+
my %isPC = (MSWin32 => 1, os2 => 1, dos => 1, NetWare => 1, symbian => 1, cygwin => 1);
|
|
5708
|
+
sub IsPC()
|
|
5709
|
+
{
|
|
5710
|
+
return $isPC{$^O};
|
|
5711
|
+
}
|
|
5712
|
+
|
|
5651
5713
|
#------------------------------------------------------------------------------
|
|
5652
5714
|
# Utilities to check for numerical types
|
|
5653
5715
|
# Inputs: 0) value; Returns: true if value is a numerical type
|