exiftool-vendored.pl 12.65.0 → 12.69.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 +60 -2
- package/bin/MANIFEST +5 -0
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +7 -7
- package/bin/exiftool +30 -21
- package/bin/lib/Image/ExifTool/Apple.pm +6 -2
- package/bin/lib/Image/ExifTool/Canon.pm +55 -13
- package/bin/lib/Image/ExifTool/DNG.pm +25 -2
- package/bin/lib/Image/ExifTool/Exif.pm +95 -13
- package/bin/lib/Image/ExifTool/FujiFilm.pm +20 -1
- package/bin/lib/Image/ExifTool/Geotag.pm +17 -12
- package/bin/lib/Image/ExifTool/Nikon.pm +47 -11
- package/bin/lib/Image/ExifTool/PLUS.pm +19 -4
- package/bin/lib/Image/ExifTool/PNG.pm +14 -7
- package/bin/lib/Image/ExifTool/Panasonic.pm +13 -9
- package/bin/lib/Image/ExifTool/Pentax.pm +8 -1
- package/bin/lib/Image/ExifTool/PhotoMechanic.pm +2 -1
- package/bin/lib/Image/ExifTool/QuickTime.pm +62 -52
- package/bin/lib/Image/ExifTool/README +7 -3
- package/bin/lib/Image/ExifTool/RIFF.pm +8 -2
- package/bin/lib/Image/ExifTool/Sony.pm +66 -21
- package/bin/lib/Image/ExifTool/TagLookup.pm +6881 -6709
- package/bin/lib/Image/ExifTool/TagNames.pod +454 -37
- package/bin/lib/Image/ExifTool/Validate.pm +18 -16
- package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +2 -2
- package/bin/lib/Image/ExifTool/WriteExif.pl +14 -4
- package/bin/lib/Image/ExifTool/WriteQuickTime.pl +2 -0
- package/bin/lib/Image/ExifTool/WriteRIFF.pl +22 -3
- package/bin/lib/Image/ExifTool/Writer.pl +53 -11
- package/bin/lib/Image/ExifTool/XISF.pm +185 -0
- package/bin/lib/Image/ExifTool/XMP.pm +67 -2
- package/bin/lib/Image/ExifTool/XMP2.pl +36 -1
- package/bin/lib/Image/ExifTool.pm +45 -20
- package/bin/lib/Image/ExifTool.pod +20 -10
- package/bin/perl-Image-ExifTool.spec +6 -6
- package/bin/pp_build_exe.args +5 -4
- package/package.json +2 -2
|
@@ -1063,7 +1063,7 @@ my %prismPublicationDate = (
|
|
|
1063
1063
|
NOTES => q{
|
|
1064
1064
|
PRISM Rights Language 2.1 namespace tags. These tags have been deprecated
|
|
1065
1065
|
since the release of the PRISM Usage Rights 3.0. (see
|
|
1066
|
-
L<
|
|
1066
|
+
L<https://www.w3.org/submissions/2020/SUBM-prism-20200910/prism-image.html>)
|
|
1067
1067
|
},
|
|
1068
1068
|
geography => { List => 'Bag' },
|
|
1069
1069
|
industry => { List => 'Bag' },
|
|
@@ -1873,6 +1873,10 @@ my %sSubVersion = (
|
|
|
1873
1873
|
ValueConv => 'Image::ExifTool::XMP::DecodeBase64($val)',
|
|
1874
1874
|
ValueConvInv => 'Image::ExifTool::XMP::EncodeBase64($val)',
|
|
1875
1875
|
},
|
|
1876
|
+
HdrPlusMakernote => {
|
|
1877
|
+
ValueConv => 'Image::ExifTool::XMP::DecodeBase64($val)',
|
|
1878
|
+
ValueConvInv => 'Image::ExifTool::XMP::EncodeBase64($val)',
|
|
1879
|
+
},
|
|
1876
1880
|
);
|
|
1877
1881
|
|
|
1878
1882
|
# Google creations namespace (ref PH)
|
|
@@ -2037,6 +2041,37 @@ my %sSubVersion = (
|
|
|
2037
2041
|
},
|
|
2038
2042
|
);
|
|
2039
2043
|
|
|
2044
|
+
# Google container tags (ref https://developer.android.com/guide/topics/media/platform/hdr-image-format)
|
|
2045
|
+
# NOTE: Not included because these namespace prefixes conflict with Google's depth-map Device tags!
|
|
2046
|
+
# (see ../pics/GooglePixel8Pro.jpg sample image)
|
|
2047
|
+
# %Image::ExifTool::XMP::Container = (
|
|
2048
|
+
# %xmpTableDefaults,
|
|
2049
|
+
# GROUPS => { 1 => 'XMP-Container', 2 => 'Image' },
|
|
2050
|
+
# NAMESPACE => 'Container',
|
|
2051
|
+
# NOTES => 'Google Container namespace.',
|
|
2052
|
+
# Directory => {
|
|
2053
|
+
# Name => 'ContainerDirectory',
|
|
2054
|
+
# FlatName => 'Directory',
|
|
2055
|
+
# List => 'Seq',
|
|
2056
|
+
# Struct => {
|
|
2057
|
+
# STRUCT_NAME => 'Directory',
|
|
2058
|
+
# Item => {
|
|
2059
|
+
# Namespace => 'Container',
|
|
2060
|
+
# Struct => {
|
|
2061
|
+
# STRUCT_NAME => 'Item',
|
|
2062
|
+
# NAMESPACE => { Item => 'http://ns.google.com/photos/1.0/container/item/'},
|
|
2063
|
+
# Mime => { },
|
|
2064
|
+
# Semantic => { },
|
|
2065
|
+
# Length => { Writable => 'integer' },
|
|
2066
|
+
# Label => { },
|
|
2067
|
+
# Padding => { Writable => 'integer' },
|
|
2068
|
+
# URI => { },
|
|
2069
|
+
# },
|
|
2070
|
+
# },
|
|
2071
|
+
# },
|
|
2072
|
+
# },
|
|
2073
|
+
# );
|
|
2074
|
+
|
|
2040
2075
|
# Getty Images namespace (ref PH)
|
|
2041
2076
|
%Image::ExifTool::XMP::GettyImages = (
|
|
2042
2077
|
%xmpTableDefaults,
|
|
@@ -29,15 +29,15 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
|
29
29
|
%jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
|
|
30
30
|
%static_vars);
|
|
31
31
|
|
|
32
|
-
$VERSION = '12.
|
|
32
|
+
$VERSION = '12.69';
|
|
33
33
|
$RELEASE = '';
|
|
34
34
|
@ISA = qw(Exporter);
|
|
35
35
|
%EXPORT_TAGS = (
|
|
36
36
|
# all public non-object-oriented functions:
|
|
37
37
|
Public => [qw(
|
|
38
|
-
ImageInfo GetTagName GetShortcuts GetAllTags
|
|
39
|
-
GetAllGroups GetDeleteGroups GetFileType CanWrite
|
|
40
|
-
AddUserDefinedTags
|
|
38
|
+
ImageInfo AvailableOptions GetTagName GetShortcuts GetAllTags
|
|
39
|
+
GetWritableTags GetAllGroups GetDeleteGroups GetFileType CanWrite
|
|
40
|
+
CanCreate AddUserDefinedTags
|
|
41
41
|
)],
|
|
42
42
|
# exports not part of the public API, but used by ExifTool modules:
|
|
43
43
|
DataAccess => [qw(
|
|
@@ -149,8 +149,8 @@ sub ReadValue($$$;$$$);
|
|
|
149
149
|
FLAC Ogg Vorbis APE APE::NewHeader APE::OldHeader Audible MPC MPEG::Audio
|
|
150
150
|
MPEG::Video MPEG::Xing M2TS QuickTime QuickTime::ImageFile QuickTime::Stream
|
|
151
151
|
QuickTime::Tags360Fly Matroska Matroska::StdTag MOI MXF DV Flash Flash::FLV
|
|
152
|
-
Real::Media Real::Audio Real::Metafile Red RIFF AIFF ASF WTV DICOM FITS
|
|
153
|
-
JSON HTML XMP::SVG Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion
|
|
152
|
+
Real::Media Real::Audio Real::Metafile Red RIFF AIFF ASF WTV DICOM FITS XISF
|
|
153
|
+
MIE JSON HTML XMP::SVG Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion
|
|
154
154
|
EXE::PEString EXE::MachO EXE::PEF EXE::ELF EXE::AR EXE::CHM LNK Font VCard
|
|
155
155
|
Text VCard::VCalendar VCard::VNote RSRC Rawzor ZIP ZIP::GZIP ZIP::RAR
|
|
156
156
|
ZIP::RAR5 RTF OOXML iWork ISO FLIR::AFF FLIR::FPF MacOS MacOS::MDItem
|
|
@@ -193,10 +193,11 @@ $defaultLang = 'en'; # default language
|
|
|
193
193
|
@fileTypes = qw(JPEG EXV CRW DR4 TIFF GIF MRW RAF X3F JP2 PNG MIE MIFF PS PDF
|
|
194
194
|
PSD XMP BMP WPG BPG PPM RIFF AIFF ASF MOV MPEG Real SWF PSP FLV
|
|
195
195
|
OGG FLAC APE MPC MKV MXF DV PMP IND PGF ICC ITC FLIR FLIF FPF
|
|
196
|
-
LFP HTML VRD RTF FITS XCF DSS QTIF FPX PICT ZIP GZIP PLIST
|
|
197
|
-
7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX DPX RAW Font
|
|
198
|
-
M2TS MacOS PHP PCX DCX DWF DWG DXF WTV Torrent VCard LRI
|
|
199
|
-
PDB PFM2 MRC LIF JXL MOI ISO ALIAS JSON MP3 DICOM PCD ICO
|
|
196
|
+
LFP HTML VRD RTF FITS XISF XCF DSS QTIF FPX PICT ZIP GZIP PLIST
|
|
197
|
+
RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX DPX RAW Font
|
|
198
|
+
RSRC M2TS MacOS PHP PCX DCX DWF DWG DXF WTV Torrent VCard LRI
|
|
199
|
+
R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS JSON MP3 DICOM PCD ICO
|
|
200
|
+
TXT);
|
|
200
201
|
|
|
201
202
|
# file types that we can write (edit)
|
|
202
203
|
my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
|
|
@@ -545,6 +546,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
|
545
546
|
X3F => ['X3F', 'Sigma RAW format'],
|
|
546
547
|
XCF => ['XCF', 'GIMP native image format'],
|
|
547
548
|
XHTML=> ['HTML', 'Extensible HyperText Markup Language'],
|
|
549
|
+
XISF => ['XISF', 'Extensible Image Serialization Format'],
|
|
548
550
|
XLA => ['FPX', 'Microsoft Excel Add-in'],
|
|
549
551
|
XLAM => [['ZIP','FPX'], 'Office Open XML Spreadsheet Add-in Macro-enabled'],
|
|
550
552
|
XLS => ['FPX', 'Microsoft Excel Spreadsheet'],
|
|
@@ -798,6 +800,7 @@ my %fileDescription = (
|
|
|
798
800
|
WTV => 'video/x-ms-wtv',
|
|
799
801
|
X3F => 'image/x-sigma-x3f',
|
|
800
802
|
XCF => 'image/x-xcf',
|
|
803
|
+
XISF => 'image/x-xisf',
|
|
801
804
|
XLA => 'application/vnd.ms-excel',
|
|
802
805
|
XLAM => 'application/vnd.ms-excel.addin.macroEnabled.12',
|
|
803
806
|
XLS => 'application/vnd.ms-excel',
|
|
@@ -994,6 +997,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
|
|
|
994
997
|
WTV => '\xb7\xd8\x00\x20\x37\x49\xda\x11\xa6\x4e\x00\x07\xe9\x5e\xad\x8d',
|
|
995
998
|
X3F => 'FOVb',
|
|
996
999
|
XCF => 'gimp xcf ',
|
|
1000
|
+
XISF => 'XISF0100',
|
|
997
1001
|
XMP => '\0{0,3}(\xfe\xff|\xff\xfe|\xef\xbb\xbf)?\0{0,3}\s*<',
|
|
998
1002
|
ZIP => 'PK\x03\x04',
|
|
999
1003
|
);
|
|
@@ -1133,6 +1137,7 @@ my @availableOptions = (
|
|
|
1133
1137
|
[ 'UserParam', { }, 'user parameters for additional user-defined tag values' ],
|
|
1134
1138
|
[ 'Validate', undef, 'perform additional validation' ],
|
|
1135
1139
|
[ 'Verbose', 0, 'print verbose messages (0-5, higher # = more verbose)' ],
|
|
1140
|
+
[ 'WindowsWideFile', undef, 'force the use of Windows wide-character file routines' ], # (see forum15208)
|
|
1136
1141
|
[ 'WriteMode', 'wcg', 'enable all write modes by default' ],
|
|
1137
1142
|
[ 'XAttrTags', undef, 'extract MacOS extended attribute tags' ],
|
|
1138
1143
|
[ 'XMPAutoConv', 1, 'automatic conversion of unknown XMP tag values' ],
|
|
@@ -1580,6 +1585,7 @@ my %systemTagsNotes = (
|
|
|
1580
1585
|
ImageHeight => { Notes => 'the height of the image in number of pixels' },
|
|
1581
1586
|
XResolution => { Notes => 'the horizontal pixel resolution' },
|
|
1582
1587
|
YResolution => { Notes => 'the vertical pixel resolution' },
|
|
1588
|
+
NumPlanes => { Notes => 'number of color planes' },
|
|
1583
1589
|
MaxVal => { Notes => 'maximum pixel value in PPM or PGM image' },
|
|
1584
1590
|
EXIF => {
|
|
1585
1591
|
Notes => q{
|
|
@@ -1843,7 +1849,7 @@ my %systemTagsNotes = (
|
|
|
1843
1849
|
Geotime => {
|
|
1844
1850
|
Writable => 1,
|
|
1845
1851
|
WriteOnly => 1,
|
|
1846
|
-
AllowGroup => '(exif|gps|xmp|xmp-exif)',
|
|
1852
|
+
AllowGroup => '(exif|gps|xmp|xmp-exif|quicktime|keys|itemlist|userdata)',
|
|
1847
1853
|
Notes => q{
|
|
1848
1854
|
this write-only tag is used to define a date/time for interpolating a
|
|
1849
1855
|
position in the GPS track specified by the Geotag tag. Writing this tag
|
|
@@ -4305,6 +4311,7 @@ sub EncodeFileName($$;$)
|
|
|
4305
4311
|
{
|
|
4306
4312
|
my ($self, $file, $force) = @_;
|
|
4307
4313
|
my $enc = $$self{OPTIONS}{CharsetFileName};
|
|
4314
|
+
$force = 1 if $$self{OPTIONS}{WindowsWideFile};
|
|
4308
4315
|
if ($enc) {
|
|
4309
4316
|
if ($file =~ /[\x80-\xff]/ or $force) {
|
|
4310
4317
|
# encode for use in Windows Unicode functions if necessary
|
|
@@ -4740,13 +4747,16 @@ sub CopyAltInfo($$$)
|
|
|
4740
4747
|
# Notes: index lists are returned in increasing order
|
|
4741
4748
|
sub SetFoundTags($)
|
|
4742
4749
|
{
|
|
4750
|
+
local $_;
|
|
4743
4751
|
my $self = shift;
|
|
4744
4752
|
my $options = $$self{OPTIONS};
|
|
4745
4753
|
my $reqTags = $$self{REQUESTED_TAGS} || [ ];
|
|
4746
4754
|
my $duplicates = $$options{Duplicates};
|
|
4747
4755
|
my $exclude = $$options{Exclude};
|
|
4748
4756
|
my $fileOrder = $$self{FILE_ORDER};
|
|
4749
|
-
my @groupOptions
|
|
4757
|
+
my @groupOptions;
|
|
4758
|
+
# ignore empty group options
|
|
4759
|
+
$$options{$_} and push @groupOptions, $_ foreach sort grep /^Group/, keys %$options;
|
|
4750
4760
|
my $doDups = $duplicates || $exclude || @groupOptions;
|
|
4751
4761
|
my ($tag, $rtnTags, @byValue, @wildTags);
|
|
4752
4762
|
|
|
@@ -4911,7 +4921,6 @@ sub SetFoundTags($)
|
|
|
4911
4921
|
$groupList = [ $$options{$groupOpt} ];
|
|
4912
4922
|
}
|
|
4913
4923
|
foreach (@$groupList) {
|
|
4914
|
-
next unless defined $_;
|
|
4915
4924
|
# groups have priority in order they were specified
|
|
4916
4925
|
++$wantOrder;
|
|
4917
4926
|
my ($groupName, $want);
|
|
@@ -7471,7 +7480,8 @@ sub ProcessJPEG($$)
|
|
|
7471
7480
|
my $hdr = $1;
|
|
7472
7481
|
$dumpType = 'JUMBF';
|
|
7473
7482
|
SetByteOrder('MM');
|
|
7474
|
-
|
|
7483
|
+
# (sequence should start from 1, but some software incorrectly writes 0)
|
|
7484
|
+
my $seq = Get32u($segDataPt, 4);
|
|
7475
7485
|
my $len = Get32u($segDataPt, 8);
|
|
7476
7486
|
my $type = substr($$segDataPt, 12, 4);
|
|
7477
7487
|
my $hdrLen;
|
|
@@ -7481,14 +7491,13 @@ sub ProcessJPEG($$)
|
|
|
7481
7491
|
} else {
|
|
7482
7492
|
$hdrLen = 8;
|
|
7483
7493
|
}
|
|
7484
|
-
$jumbfChunk{$type} or $jumbfChunk{$type} = [ ];
|
|
7494
|
+
$jumbfChunk{$type} or $jumbfChunk{$type} = [ '' ];
|
|
7485
7495
|
if ($len < $hdrLen) {
|
|
7486
7496
|
$self->Warn('Invalid JUMBF segment');
|
|
7487
|
-
} elsif ($seq
|
|
7488
|
-
$self->Warn('Invalid JUMBF sequence number');
|
|
7489
|
-
} elsif (defined $jumbfChunk{$type}[$seq]) {
|
|
7497
|
+
} elsif (defined $jumbfChunk{$type}[$seq] and length $jumbfChunk{$type}[$seq]) {
|
|
7490
7498
|
$self->Warn('Duplicate JUMBF sequence number');
|
|
7491
7499
|
} else {
|
|
7500
|
+
$seq or $self->Warn('Incorrect JUMBF sequence numbering (should start from 0, not 1)');
|
|
7492
7501
|
# add to list of JUMBF chunks
|
|
7493
7502
|
$jumbfChunk{$type}[$seq] = substr($$segDataPt, 8 + $hdrLen);
|
|
7494
7503
|
# check to see if we have a complete JUMBF box
|
|
@@ -7712,6 +7721,19 @@ sub ProcessTIFF($$;$)
|
|
|
7712
7721
|
return $rtnVal;
|
|
7713
7722
|
}
|
|
7714
7723
|
|
|
7724
|
+
#------------------------------------------------------------------------------
|
|
7725
|
+
# Process TIFF as a sub-document
|
|
7726
|
+
# Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) optional tag table ref
|
|
7727
|
+
# Returns: 1 if this looked like a valid EXIF block, 0 otherwise, or -1 on write error
|
|
7728
|
+
sub ProcessSubTIFF($$;$)
|
|
7729
|
+
{
|
|
7730
|
+
my ($self, $dirInfo, $tagTablePtr) = @_;
|
|
7731
|
+
$$self{DOC_NUM} = ++$$self{DOC_COUNT};
|
|
7732
|
+
my $rtnVal = $self->ProcessTIFF($dirInfo, $tagTablePtr);
|
|
7733
|
+
delete $$self{DOC_NUM};
|
|
7734
|
+
return $rtnVal;
|
|
7735
|
+
}
|
|
7736
|
+
|
|
7715
7737
|
#------------------------------------------------------------------------------
|
|
7716
7738
|
# Process TIFF data
|
|
7717
7739
|
# Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) optional tag table ref
|
|
@@ -7936,6 +7958,9 @@ sub DoProcessTIFF($$;$)
|
|
|
7936
7958
|
}
|
|
7937
7959
|
if ($$self{TIFF_TYPE} eq 'TIFF') {
|
|
7938
7960
|
$self->FoundTag(PageCount => $$self{PageCount}) if $$self{MultiPage};
|
|
7961
|
+
} elsif ($$self{TIFF_TYPE} eq 'NRW' and $$self{VALUE}{NEFLinearizationTable}) {
|
|
7962
|
+
# fix NEF type if misidentified as NRW
|
|
7963
|
+
$self->OverrideFileType($$self{TIFF_TYPE} = 'NEF');
|
|
7939
7964
|
}
|
|
7940
7965
|
if ($$self{ImageDataHash} and $$self{A100DataOffset} and $raf->Seek($$self{A100DataOffset},0)) {
|
|
7941
7966
|
$self->ImageDataHash($raf, undef, 'A100');
|
|
@@ -8077,8 +8102,8 @@ sub DoProcessTIFF($$;$)
|
|
|
8077
8102
|
# check DNG version
|
|
8078
8103
|
if ($$self{DNGVersion}) {
|
|
8079
8104
|
my $ver = $$self{DNGVersion};
|
|
8080
|
-
# currently support up to DNG version 1.
|
|
8081
|
-
unless ($ver =~ /^(\d+) (\d+)/ and "$1.$2" <= 1.
|
|
8105
|
+
# currently support up to DNG version 1.7
|
|
8106
|
+
unless ($ver =~ /^(\d+) (\d+)/ and "$1.$2" <= 1.7) {
|
|
8082
8107
|
$ver =~ tr/ /./;
|
|
8083
8108
|
$self->Error("DNG Version $ver not yet tested", 1);
|
|
8084
8109
|
}
|
|
@@ -102,11 +102,11 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
102
102
|
DCP r/w | ICO r | MPG r | PSB r/w | WV r
|
|
103
103
|
DCR r | ICS r | MPO r/w | PSD r/w | X3F r/w
|
|
104
104
|
DFONT r | IDML r | MQV r/w | PSP r | XCF r
|
|
105
|
-
DIVX r | IIQ r/w | MRC r | QTIF r/w |
|
|
106
|
-
DJVU r | IND r/w | MRW r/w | R3D r |
|
|
107
|
-
DLL r | INSP r/w | MXF r | RA r |
|
|
108
|
-
DNG r/w | INSV r | NEF r/w | RAF r/w |
|
|
109
|
-
DOC r | INX r | NKSC r/w | RAM r |
|
|
105
|
+
DIVX r | IIQ r/w | MRC r | QTIF r/w | XISF r
|
|
106
|
+
DJVU r | IND r/w | MRW r/w | R3D r | XLS r
|
|
107
|
+
DLL r | INSP r/w | MXF r | RA r | XLSX r
|
|
108
|
+
DNG r/w | INSV r | NEF r/w | RAF r/w | XMP r/w/c
|
|
109
|
+
DOC r | INX r | NKSC r/w | RAM r | ZIP r
|
|
110
110
|
DOCX r | ISO r | NRW r/w | RAR r |
|
|
111
111
|
|
|
112
112
|
Meta Information
|
|
@@ -391,12 +391,14 @@ ExifTool may be returned:
|
|
|
391
391
|
Get/set ExifTool options. This function can be called to set the default
|
|
392
392
|
options for an ExifTool object. Options set this way are in effect for
|
|
393
393
|
all function calls but may be overridden by options passed as arguments
|
|
394
|
-
to some functions. Option names are not case sensitive
|
|
394
|
+
to some functions. Option names are not case sensitive, but option values
|
|
395
|
+
are.
|
|
395
396
|
|
|
396
397
|
The default option values may be changed by defining a
|
|
397
398
|
%Image::ExifTool::UserDefined::Options hash. See the ExifTool_config file
|
|
398
|
-
in the full ExifTool distribution for examples.
|
|
399
|
-
same
|
|
399
|
+
in the full ExifTool distribution for examples. Unless otherwise noted, a
|
|
400
|
+
default of undef has the same effect as a value of 0 for options with
|
|
401
|
+
numerical values.
|
|
400
402
|
|
|
401
403
|
# exclude the 'OwnerName' tag from returned information
|
|
402
404
|
$exifTool->Options(Exclude => 'OwnerName');
|
|
@@ -1081,6 +1083,14 @@ details about the tags. Level 3 adds a hex dump of the tag data, but with
|
|
|
1081
1083
|
limits on the number of bytes dumped. Levels 4 and 5 remove the dump limit
|
|
1082
1084
|
on tag values and JPEG segment data respectively.
|
|
1083
1085
|
|
|
1086
|
+
=item WindowsWideFile
|
|
1087
|
+
|
|
1088
|
+
Force the use of wide-character Windows I/O functions when the
|
|
1089
|
+
L</CharsetFileName> option is used. This may be necessary when files are on
|
|
1090
|
+
a network drive and the current directory name contains Unicode characters.
|
|
1091
|
+
By default, the wide-character functions are used only if the specified file
|
|
1092
|
+
path contains Unicode characters.
|
|
1093
|
+
|
|
1084
1094
|
=item WriteMode
|
|
1085
1095
|
|
|
1086
1096
|
Set tag write/create mode. Value is a string of one or more characters from
|
|
@@ -1155,7 +1165,7 @@ ExtractEmbedded, FastScan, FixBase, HtmlDump, HtmlDumpBase,
|
|
|
1155
1165
|
IgnoreMinorErrors, IgnoreTags, Lang, LargeFileSupport, MakerNotes,
|
|
1156
1166
|
MDItemTags, NoPDFList, Password, QuickTimeUTC (enforced 1904 time zero),
|
|
1157
1167
|
RequestAll, RequestTags, SaveFormat, SavePath, ScanForXMP, Struct, TextOut,
|
|
1158
|
-
Unknown, Verbose, XAttrTags and XMPAutoConv.
|
|
1168
|
+
Unknown, Verbose, WindowsWideFile, XAttrTags and XMPAutoConv.
|
|
1159
1169
|
|
|
1160
1170
|
=item Return Value:
|
|
1161
1171
|
|
|
@@ -1294,7 +1304,7 @@ The following ExifTool options are effective in the call to L</WriteInfo>:
|
|
|
1294
1304
|
|
|
1295
1305
|
ByteOrder, Charset, CharsetEXIF, CharsetFileName, CharsetIPTC, Compact,
|
|
1296
1306
|
Compress, FixBase, IgnoreMinorErrors, NoMultiExif, NoPDFList, Password,
|
|
1297
|
-
QuickTimeHandler, QuickTimePad, Verbose and WriteMode.
|
|
1307
|
+
QuickTimeHandler, QuickTimePad, Verbose, WindowsWideFile and WriteMode.
|
|
1298
1308
|
|
|
1299
1309
|
=head2 GetTagList
|
|
1300
1310
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Summary: perl module for image data extraction
|
|
2
2
|
Name: perl-Image-ExifTool
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.69
|
|
4
4
|
Release: 1
|
|
5
5
|
License: Artistic/GPL
|
|
6
6
|
Group: Development/Libraries/Perl
|
|
@@ -59,11 +59,11 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
59
59
|
DCP r/w | ICO r | MPG r | PSB r/w | WV r
|
|
60
60
|
DCR r | ICS r | MPO r/w | PSD r/w | X3F r/w
|
|
61
61
|
DFONT r | IDML r | MQV r/w | PSP r | XCF r
|
|
62
|
-
DIVX r | IIQ r/w | MRC r | QTIF r/w |
|
|
63
|
-
DJVU r | IND r/w | MRW r/w | R3D r |
|
|
64
|
-
DLL r | INSP r/w | MXF r | RA r |
|
|
65
|
-
DNG r/w | INSV r | NEF r/w | RAF r/w |
|
|
66
|
-
DOC r | INX r | NKSC r/w | RAM r |
|
|
62
|
+
DIVX r | IIQ r/w | MRC r | QTIF r/w | XISF r
|
|
63
|
+
DJVU r | IND r/w | MRW r/w | R3D r | XLS r
|
|
64
|
+
DLL r | INSP r/w | MXF r | RA r | XLSX r
|
|
65
|
+
DNG r/w | INSV r | NEF r/w | RAF r/w | XMP r/w/c
|
|
66
|
+
DOC r | INX r | NKSC r/w | RAM r | ZIP r
|
|
67
67
|
DOCX r | ISO r | NRW r/w | RAR r |
|
|
68
68
|
|
|
69
69
|
Meta Information
|
package/bin/pp_build_exe.args
CHANGED
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
# 10) Copy zip archive to web servers.
|
|
22
22
|
# 11) Update zip file version in link and text of html/index.html.
|
|
23
23
|
#------------------------------------------------------------------------------
|
|
24
|
-
-T exiftool-12.
|
|
25
|
-
#--info=FileVersion=12.6.
|
|
26
|
-
#--info=ProductVersion=12.6.
|
|
27
|
-
##"--info=Build Date=2023:
|
|
24
|
+
-T exiftool-12.69
|
|
25
|
+
#--info=FileVersion=12.6.9.0
|
|
26
|
+
#--info=ProductVersion=12.6.9.0
|
|
27
|
+
##"--info=Build Date=2023:10:26 11:46:50-04:00"
|
|
28
28
|
##"--info=Bundled Perl Version=ActivePerl 5.24.0"
|
|
29
29
|
##"--info=LegalCopyright=Copyright (c) 2003-2023, Phil Harvey"
|
|
30
30
|
##"--info=ProductName=ExifTool"
|
|
@@ -253,6 +253,7 @@
|
|
|
253
253
|
-M Image::ExifTool::Validate
|
|
254
254
|
-M Image::ExifTool::VCard
|
|
255
255
|
-M Image::ExifTool::Vorbis
|
|
256
|
+
-M Image::ExifTool::XISF
|
|
256
257
|
-M Image::ExifTool::WPG
|
|
257
258
|
-M Image::ExifTool::WTV
|
|
258
259
|
-M Image::ExifTool::XMP
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "exiftool-vendored.pl",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.69.0",
|
|
4
4
|
"description": "Vendored perl ExifTool for Node.js",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"homepage": "https://github.com/mceachen/exiftool-vendored.pl#readme",
|
|
@@ -44,6 +44,6 @@
|
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"mocha": "^10.2.0",
|
|
46
46
|
"prettier": "^3.0.3",
|
|
47
|
-
"rimraf": "^5.0.
|
|
47
|
+
"rimraf": "^5.0.5"
|
|
48
48
|
}
|
|
49
49
|
}
|