exiftool-vendored.pl 13.31.0 → 13.34.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 +56 -1
- package/bin/MANIFEST +5 -0
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +47 -46
- package/bin/exiftool +114 -89
- package/bin/lib/Image/ExifTool/BuildTagLookup.pm +7 -5
- package/bin/lib/Image/ExifTool/Canon.pm +19 -2
- package/bin/lib/Image/ExifTool/Exif.pm +9 -6
- package/bin/lib/Image/ExifTool/FlashPix.pm +4 -159
- package/bin/lib/Image/ExifTool/FujiFilm.pm +11 -3
- package/bin/lib/Image/ExifTool/Geotag.pm +5 -3
- package/bin/lib/Image/ExifTool/GoPro.pm +14 -2
- package/bin/lib/Image/ExifTool/LNK.pm +4 -1
- package/bin/lib/Image/ExifTool/Lang/cs.pm +0 -1
- package/bin/lib/Image/ExifTool/Lang/de.pm +0 -1
- package/bin/lib/Image/ExifTool/Lang/fr.pm +0 -1
- package/bin/lib/Image/ExifTool/Lang/it.pm +0 -1
- package/bin/lib/Image/ExifTool/Lang/ja.pm +0 -1
- package/bin/lib/Image/ExifTool/Lang/nl.pm +0 -1
- package/bin/lib/Image/ExifTool/Lang/pl.pm +0 -1
- package/bin/lib/Image/ExifTool/Lang/zh_cn.pm +0 -1
- package/bin/lib/Image/ExifTool/Microsoft.pm +158 -1
- package/bin/lib/Image/ExifTool/Minolta.pm +4 -2
- package/bin/lib/Image/ExifTool/Nikon.pm +72 -37
- package/bin/lib/Image/ExifTool/NikonCustom.pm +40 -10
- package/bin/lib/Image/ExifTool/Olympus.pm +254 -34
- package/bin/lib/Image/ExifTool/Panasonic.pm +3 -3
- package/bin/lib/Image/ExifTool/Pentax.pm +340 -61
- package/bin/lib/Image/ExifTool/QuickTime.pm +11 -4
- package/bin/lib/Image/ExifTool/README +2 -1
- package/bin/lib/Image/ExifTool/Sony.pm +44 -17
- package/bin/lib/Image/ExifTool/TNEF.pm +487 -0
- package/bin/lib/Image/ExifTool/TagLookup.pm +4380 -4265
- package/bin/lib/Image/ExifTool/TagNames.pod +265 -19
- package/bin/lib/Image/ExifTool/WriteExif.pl +14 -12
- package/bin/lib/Image/ExifTool/Writer.pl +19 -15
- package/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
- package/bin/lib/Image/ExifTool.pm +12 -4
- package/bin/lib/Image/ExifTool.pod +50 -44
- package/bin/perl-Image-ExifTool.spec +46 -45
- package/bin/windows_exiftool.txt +89 -84
- package/package.json +6 -4
|
@@ -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 $configFile @configFiles $noConfig);
|
|
31
31
|
|
|
32
|
-
$VERSION = '13.
|
|
32
|
+
$VERSION = '13.34';
|
|
33
33
|
$RELEASE = '';
|
|
34
34
|
@ISA = qw(Exporter);
|
|
35
35
|
%EXPORT_TAGS = (
|
|
@@ -152,8 +152,8 @@ sub ReadValue($$$;$$$);
|
|
|
152
152
|
APE::OldHeader Audible MPC MPEG::Audio MPEG::Video MPEG::Xing M2TS QuickTime
|
|
153
153
|
QuickTime::ImageFile QuickTime::Stream QuickTime::Tags360Fly Matroska
|
|
154
154
|
Matroska::StdTag MOI MXF DV Flash Flash::FLV Real::Media Real::Audio
|
|
155
|
-
Real::Metafile Red RIFF AIFF ASF WTV DICOM FITS XISF MIE JSON HTML
|
|
156
|
-
Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion EXE::PEString
|
|
155
|
+
Real::Metafile Red RIFF AIFF ASF TNEF WTV DICOM FITS XISF MIE JSON HTML
|
|
156
|
+
XMP::SVG Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion EXE::PEString
|
|
157
157
|
EXE::DebugRSDS EXE::DebugNB10 EXE::Misc EXE::MachO EXE::PEF EXE::ELF EXE::AR
|
|
158
158
|
EXE::CHM LNK PCAP Font VCard Text VCard::VCalendar VCard::VNote RSRC Rawzor
|
|
159
159
|
ZIP ZIP::GZIP ZIP::RAR ZIP::RAR5 RTF OOXML iWork ISO FLIR::AFF FLIR::FPF
|
|
@@ -200,7 +200,7 @@ $defaultLang = 'en'; # default language
|
|
|
200
200
|
RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX DPX RAW Font
|
|
201
201
|
JUMBF RSRC M2TS MacOS PHP PCX DCX DWF DWG DXF WTV Torrent VCard
|
|
202
202
|
LRI R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS PCAP JSON MP3
|
|
203
|
-
DICOM PCD NKA ICO TXT AAC);
|
|
203
|
+
TNEF DICOM PCD NKA ICO TXT AAC);
|
|
204
204
|
|
|
205
205
|
# file types that we can write (edit)
|
|
206
206
|
my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
|
|
@@ -536,6 +536,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
|
536
536
|
THMX => [['ZIP','FPX'], 'Office Open XML Theme'],
|
|
537
537
|
TIF => 'TIFF',
|
|
538
538
|
TIFF => ['TIFF', 'Tagged Image File Format'],
|
|
539
|
+
TNEF => ['TNEF', 'Transport Neural Encapsulation Format'], # (actual extension is .DAT)
|
|
539
540
|
TORRENT => ['Torrent', 'BitTorrent description file'],
|
|
540
541
|
TS => 'M2TS',
|
|
541
542
|
TTC => ['Font', 'True Type Font Collection'],
|
|
@@ -802,6 +803,7 @@ my %fileDescription = (
|
|
|
802
803
|
TAR => 'application/x-tar',
|
|
803
804
|
THMX => 'application/vnd.ms-officetheme',
|
|
804
805
|
TIFF => 'image/tiff',
|
|
806
|
+
TNEF => 'application/vnd.ms-tnef',
|
|
805
807
|
Torrent => 'application/x-bittorrent',
|
|
806
808
|
TTC => 'application/font-ttf',
|
|
807
809
|
TTF => 'application/font-ttf',
|
|
@@ -1012,6 +1014,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
|
|
|
1012
1014
|
RWZ => 'rawzor',
|
|
1013
1015
|
SWF => '[FC]WS[^\0]',
|
|
1014
1016
|
TAR => '.{257}ustar( )?\0', # (this doesn't catch old-style tar files)
|
|
1017
|
+
TNEF => '\x78\x9f\x3e\x22..\x01\x06\x90\x08\0',
|
|
1015
1018
|
TXT => '(\xff\xfe|(\0\0)?\xfe\xff|(\xef\xbb\xbf)?[\x07-\x0d\x20-\x7e\x80-\xfe]*$)',
|
|
1016
1019
|
TIFF => '(II|MM)', # don't test magic number (some raw formats are different)
|
|
1017
1020
|
VCard=> '(?i)BEGIN:(VCARD|VCALENDAR|VNOTE)\r\n',
|
|
@@ -1178,6 +1181,7 @@ my @availableOptions = (
|
|
|
1178
1181
|
[ 'SystemTags', undef, 'extract additional File System tags' ],
|
|
1179
1182
|
[ 'TextOut', \*STDOUT, 'file for Verbose/HtmlDump output' ],
|
|
1180
1183
|
[ 'TimeZone', undef, 'local time zone' ],
|
|
1184
|
+
[ 'UndefTags', undef, 'leave undef tags in -if conditions when -m or -f are used' ],
|
|
1181
1185
|
[ 'Unknown', 0, 'flag to get values of unknown tags (0-2)' ],
|
|
1182
1186
|
[ 'UserParam', { }, 'user parameters for additional user-defined tag values' ],
|
|
1183
1187
|
[ 'Validate', undef, 'perform additional validation' ],
|
|
@@ -4292,6 +4296,7 @@ sub Init($)
|
|
|
4292
4296
|
$$self{LOW_PRIORITY_DIR} = { PreviewIFD => 1 }; # names of priority 0 directories
|
|
4293
4297
|
$$self{TIFF_TYPE} = ''; # type of TIFF data (APP1, TIFF, NEF, etc...)
|
|
4294
4298
|
$$self{FMT_EXPR} = undef; # current advanced formatting expression
|
|
4299
|
+
$$self{HAS_DOC} = { }; # lookup for all document numbers in this file
|
|
4295
4300
|
$$self{Make} = ''; # camera make
|
|
4296
4301
|
$$self{Model} = ''; # camera model
|
|
4297
4302
|
$$self{CameraType} = ''; # Olympus camera type
|
|
@@ -6582,6 +6587,8 @@ sub ConvertDateTime($$)
|
|
|
6582
6587
|
}
|
|
6583
6588
|
$a[5] -= 1900; # strftime year starts from 1900
|
|
6584
6589
|
$date = POSIX::strftime($fmt, @a); # generate the formatted date/time
|
|
6590
|
+
# apparently strftime can set the UTF-8 flag (argh!), so reset this if necessary
|
|
6591
|
+
$self->Sanitize(\$date) if $fmt =~ /[\x80-\xff]/;
|
|
6585
6592
|
} elsif ($$self{OPTIONS}{StrictDate}) {
|
|
6586
6593
|
undef $date;
|
|
6587
6594
|
}
|
|
@@ -9480,6 +9487,7 @@ sub FoundTag($$$;@)
|
|
|
9480
9487
|
$$self{TAG_EXTRA}{$tag}{G1} = $grps[1] if $grps[1];
|
|
9481
9488
|
if ($$self{DOC_NUM}) {
|
|
9482
9489
|
$$self{TAG_EXTRA}{$tag}{G3} = $$self{DOC_NUM};
|
|
9490
|
+
$$self{HAS_DOC}{$$self{DOC_NUM}} = 1;
|
|
9483
9491
|
if ($$self{DOC_NUM} =~ /^(\d+)/) {
|
|
9484
9492
|
# keep track of maximum 1st-level sub-document number
|
|
9485
9493
|
$$self{DOC_COUNT} = $1 unless $$self{DOC_COUNT} >= $1;
|
|
@@ -65,50 +65,51 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
65
65
|
|
|
66
66
|
File Types
|
|
67
67
|
------------+-------------+-------------+-------------+------------
|
|
68
|
-
360 r/w |
|
|
69
|
-
3FR r |
|
|
70
|
-
3G2 r/w |
|
|
71
|
-
3GP r/w |
|
|
72
|
-
7Z r |
|
|
73
|
-
A r |
|
|
74
|
-
AA r |
|
|
75
|
-
AAC r |
|
|
76
|
-
AAE r |
|
|
77
|
-
AAX r/w |
|
|
78
|
-
ACR r |
|
|
79
|
-
AFM r |
|
|
80
|
-
AI r/w |
|
|
81
|
-
AIFF r |
|
|
82
|
-
APE r |
|
|
83
|
-
ARQ r/w |
|
|
84
|
-
ARW r/w |
|
|
85
|
-
ASF r |
|
|
86
|
-
AVI r |
|
|
87
|
-
AVIF r/w |
|
|
88
|
-
AZW r |
|
|
89
|
-
BMP r |
|
|
90
|
-
BPG r |
|
|
91
|
-
BTF r |
|
|
92
|
-
C2PA r |
|
|
93
|
-
CHM r |
|
|
94
|
-
COS r |
|
|
95
|
-
CR2 r/w |
|
|
96
|
-
CR3 r/w |
|
|
97
|
-
CRM r/w |
|
|
98
|
-
CRW r/w |
|
|
99
|
-
CS1 r/w |
|
|
100
|
-
CSV r |
|
|
101
|
-
CUR r |
|
|
102
|
-
CZI r |
|
|
103
|
-
DCM r |
|
|
104
|
-
DCP r/w |
|
|
105
|
-
DCR r |
|
|
106
|
-
DFONT r |
|
|
107
|
-
DIVX r |
|
|
108
|
-
DJVU r |
|
|
109
|
-
DLL r |
|
|
110
|
-
DNG r/w |
|
|
111
|
-
DOC r |
|
|
68
|
+
360 r/w | DPX r | JNG r/w | ODP r | RSRC r
|
|
69
|
+
3FR r | DR4 r/w/c | JP2 r/w | ODS r | RTF r
|
|
70
|
+
3G2 r/w | DSS r | JPEG r/w | ODT r | RW2 r/w
|
|
71
|
+
3GP r/w | DV r | JSON r | OFR r | RWL r/w
|
|
72
|
+
7Z r | DVB r/w | JXL r/w | OGG r | RWZ r
|
|
73
|
+
A r | DVR-MS r | K25 r | OGV r | RM r
|
|
74
|
+
AA r | DYLIB r | KDC r | ONP r | SEQ r
|
|
75
|
+
AAC r | EIP r | KEY r | OPUS r | SKETCH r
|
|
76
|
+
AAE r | EPS r/w | LA r | ORF r/w | SO r
|
|
77
|
+
AAX r/w | EPUB r | LFP r | ORI r/w | SR2 r/w
|
|
78
|
+
ACR r | ERF r/w | LIF r | OTF r | SRF r
|
|
79
|
+
AFM r | EXE r | LNK r | PAC r | SRW r/w
|
|
80
|
+
AI r/w | EXIF r/w/c | LRV r/w | PAGES r | SVG r
|
|
81
|
+
AIFF r | EXR r | M2TS r | PBM r/w | SWF r
|
|
82
|
+
APE r | EXV r/w/c | M4A/V r/w | PCAP r | THM r/w
|
|
83
|
+
ARQ r/w | F4A/V r/w | MACOS r | PCAPNG r | TIFF r/w
|
|
84
|
+
ARW r/w | FFF r/w | MAX r | PCD r | TNEF r
|
|
85
|
+
ASF r | FITS r | MEF r/w | PCX r | TORRENT r
|
|
86
|
+
AVI r | FLA r | MIE r/w/c | PDB r | TTC r
|
|
87
|
+
AVIF r/w | FLAC r | MIFF r | PDF r/w | TTF r
|
|
88
|
+
AZW r | FLIF r/w | MKA r | PEF r/w | TXT r
|
|
89
|
+
BMP r | FLV r | MKS r | PFA r | VCF r
|
|
90
|
+
BPG r | FPF r | MKV r | PFB r | VNT r
|
|
91
|
+
BTF r | FPX r | MNG r/w | PFM r | VRD r/w/c
|
|
92
|
+
C2PA r | GIF r/w | MOBI r | PGF r | VSD r
|
|
93
|
+
CHM r | GLV r/w | MODD r | PGM r/w | WAV r
|
|
94
|
+
COS r | GPR r/w | MOI r | PLIST r | WDP r/w
|
|
95
|
+
CR2 r/w | GZ r | MOS r/w | PICT r | WEBP r/w
|
|
96
|
+
CR3 r/w | HDP r/w | MOV r/w | PMP r | WEBM r
|
|
97
|
+
CRM r/w | HDR r | MP3 r | PNG r/w | WMA r
|
|
98
|
+
CRW r/w | HEIC r/w | MP4 r/w | PPM r/w | WMV r
|
|
99
|
+
CS1 r/w | HEIF r/w | MPC r | PPT r | WPG r
|
|
100
|
+
CSV r | HTML r | MPG r | PPTX r | WTV r
|
|
101
|
+
CUR r | ICC r/w/c | MPO r/w | PS r/w | WV r
|
|
102
|
+
CZI r | ICO r | MQV r/w | PSB r/w | X3F r/w
|
|
103
|
+
DCM r | ICS r | MRC r | PSD r/w | XCF r
|
|
104
|
+
DCP r/w | IDML r | MRW r/w | PSP r | XISF r
|
|
105
|
+
DCR r | IIQ r/w | MXF r | QTIF r/w | XLS r
|
|
106
|
+
DFONT r | IND r/w | NEF r/w | R3D r | XLSX r
|
|
107
|
+
DIVX r | INSP r/w | NKA r | RA r | XMP r/w/c
|
|
108
|
+
DJVU r | INSV r | NKSC r/w | RAF r/w | ZIP r
|
|
109
|
+
DLL r | INX r | NRW r/w | RAM r |
|
|
110
|
+
DNG r/w | ISO r | NUMBERS r | RAR r |
|
|
111
|
+
DOC r | ITC r | NXD r | RAW r/w |
|
|
112
|
+
DOCX r | J2C r | O r | RIFF r |
|
|
112
113
|
|
|
113
114
|
Meta Information
|
|
114
115
|
----------------------+----------------------+---------------------
|
|
@@ -1198,6 +1199,11 @@ For Unix-based systems, the value may also be a time zone ID like
|
|
|
1198
1199
|
"America/New_York". Requires Time::Piece on Windows, or POSIX::tzset on
|
|
1199
1200
|
other systems. Default is undef.
|
|
1200
1201
|
|
|
1202
|
+
=item UndefTags
|
|
1203
|
+
|
|
1204
|
+
Flag to maintain undefined tag values in the application B<-if> expression
|
|
1205
|
+
when the B<-f> or B<-m> option is also used. Default is undef.
|
|
1206
|
+
|
|
1201
1207
|
=item Unknown
|
|
1202
1208
|
|
|
1203
1209
|
Flag to get the values of unknown tags. If set to 1, unknown tags are
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Summary: perl module for image data extraction
|
|
2
2
|
Name: perl-Image-ExifTool
|
|
3
|
-
Version: 13.
|
|
3
|
+
Version: 13.34
|
|
4
4
|
Release: 1
|
|
5
5
|
License: Artistic/GPL
|
|
6
6
|
Group: Development/Libraries/Perl
|
|
@@ -22,50 +22,51 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
22
22
|
|
|
23
23
|
File Types
|
|
24
24
|
------------+-------------+-------------+-------------+------------
|
|
25
|
-
360 r/w |
|
|
26
|
-
3FR r |
|
|
27
|
-
3G2 r/w |
|
|
28
|
-
3GP r/w |
|
|
29
|
-
7Z r |
|
|
30
|
-
A r |
|
|
31
|
-
AA r |
|
|
32
|
-
AAC r |
|
|
33
|
-
AAE r |
|
|
34
|
-
AAX r/w |
|
|
35
|
-
ACR r |
|
|
36
|
-
AFM r |
|
|
37
|
-
AI r/w |
|
|
38
|
-
AIFF r |
|
|
39
|
-
APE r |
|
|
40
|
-
ARQ r/w |
|
|
41
|
-
ARW r/w |
|
|
42
|
-
ASF r |
|
|
43
|
-
AVI r |
|
|
44
|
-
AVIF r/w |
|
|
45
|
-
AZW r |
|
|
46
|
-
BMP r |
|
|
47
|
-
BPG r |
|
|
48
|
-
BTF r |
|
|
49
|
-
C2PA r |
|
|
50
|
-
CHM r |
|
|
51
|
-
COS r |
|
|
52
|
-
CR2 r/w |
|
|
53
|
-
CR3 r/w |
|
|
54
|
-
CRM r/w |
|
|
55
|
-
CRW r/w |
|
|
56
|
-
CS1 r/w |
|
|
57
|
-
CSV r |
|
|
58
|
-
CUR r |
|
|
59
|
-
CZI r |
|
|
60
|
-
DCM r |
|
|
61
|
-
DCP r/w |
|
|
62
|
-
DCR r |
|
|
63
|
-
DFONT r |
|
|
64
|
-
DIVX r |
|
|
65
|
-
DJVU r |
|
|
66
|
-
DLL r |
|
|
67
|
-
DNG r/w |
|
|
68
|
-
DOC r |
|
|
25
|
+
360 r/w | DPX r | JNG r/w | ODP r | RSRC r
|
|
26
|
+
3FR r | DR4 r/w/c | JP2 r/w | ODS r | RTF r
|
|
27
|
+
3G2 r/w | DSS r | JPEG r/w | ODT r | RW2 r/w
|
|
28
|
+
3GP r/w | DV r | JSON r | OFR r | RWL r/w
|
|
29
|
+
7Z r | DVB r/w | JXL r/w | OGG r | RWZ r
|
|
30
|
+
A r | DVR-MS r | K25 r | OGV r | RM r
|
|
31
|
+
AA r | DYLIB r | KDC r | ONP r | SEQ r
|
|
32
|
+
AAC r | EIP r | KEY r | OPUS r | SKETCH r
|
|
33
|
+
AAE r | EPS r/w | LA r | ORF r/w | SO r
|
|
34
|
+
AAX r/w | EPUB r | LFP r | ORI r/w | SR2 r/w
|
|
35
|
+
ACR r | ERF r/w | LIF r | OTF r | SRF r
|
|
36
|
+
AFM r | EXE r | LNK r | PAC r | SRW r/w
|
|
37
|
+
AI r/w | EXIF r/w/c | LRV r/w | PAGES r | SVG r
|
|
38
|
+
AIFF r | EXR r | M2TS r | PBM r/w | SWF r
|
|
39
|
+
APE r | EXV r/w/c | M4A/V r/w | PCAP r | THM r/w
|
|
40
|
+
ARQ r/w | F4A/V r/w | MACOS r | PCAPNG r | TIFF r/w
|
|
41
|
+
ARW r/w | FFF r/w | MAX r | PCD r | TNEF r
|
|
42
|
+
ASF r | FITS r | MEF r/w | PCX r | TORRENT r
|
|
43
|
+
AVI r | FLA r | MIE r/w/c | PDB r | TTC r
|
|
44
|
+
AVIF r/w | FLAC r | MIFF r | PDF r/w | TTF r
|
|
45
|
+
AZW r | FLIF r/w | MKA r | PEF r/w | TXT r
|
|
46
|
+
BMP r | FLV r | MKS r | PFA r | VCF r
|
|
47
|
+
BPG r | FPF r | MKV r | PFB r | VNT r
|
|
48
|
+
BTF r | FPX r | MNG r/w | PFM r | VRD r/w/c
|
|
49
|
+
C2PA r | GIF r/w | MOBI r | PGF r | VSD r
|
|
50
|
+
CHM r | GLV r/w | MODD r | PGM r/w | WAV r
|
|
51
|
+
COS r | GPR r/w | MOI r | PLIST r | WDP r/w
|
|
52
|
+
CR2 r/w | GZ r | MOS r/w | PICT r | WEBP r/w
|
|
53
|
+
CR3 r/w | HDP r/w | MOV r/w | PMP r | WEBM r
|
|
54
|
+
CRM r/w | HDR r | MP3 r | PNG r/w | WMA r
|
|
55
|
+
CRW r/w | HEIC r/w | MP4 r/w | PPM r/w | WMV r
|
|
56
|
+
CS1 r/w | HEIF r/w | MPC r | PPT r | WPG r
|
|
57
|
+
CSV r | HTML r | MPG r | PPTX r | WTV r
|
|
58
|
+
CUR r | ICC r/w/c | MPO r/w | PS r/w | WV r
|
|
59
|
+
CZI r | ICO r | MQV r/w | PSB r/w | X3F r/w
|
|
60
|
+
DCM r | ICS r | MRC r | PSD r/w | XCF r
|
|
61
|
+
DCP r/w | IDML r | MRW r/w | PSP r | XISF r
|
|
62
|
+
DCR r | IIQ r/w | MXF r | QTIF r/w | XLS r
|
|
63
|
+
DFONT r | IND r/w | NEF r/w | R3D r | XLSX r
|
|
64
|
+
DIVX r | INSP r/w | NKA r | RA r | XMP r/w/c
|
|
65
|
+
DJVU r | INSV r | NKSC r/w | RAF r/w | ZIP r
|
|
66
|
+
DLL r | INX r | NRW r/w | RAM r |
|
|
67
|
+
DNG r/w | ISO r | NUMBERS r | RAR r |
|
|
68
|
+
DOC r | ITC r | NXD r | RAW r/w |
|
|
69
|
+
DOCX r | J2C r | O r | RIFF r |
|
|
69
70
|
|
|
70
71
|
Meta Information
|
|
71
72
|
----------------------+----------------------+---------------------
|
package/bin/windows_exiftool.txt
CHANGED
|
@@ -63,50 +63,51 @@ DESCRIPTION
|
|
|
63
63
|
|
|
64
64
|
File Types
|
|
65
65
|
------------+-------------+-------------+-------------+------------
|
|
66
|
-
360 r/w |
|
|
67
|
-
3FR r |
|
|
68
|
-
3G2 r/w |
|
|
69
|
-
3GP r/w |
|
|
70
|
-
7Z r |
|
|
71
|
-
A r |
|
|
72
|
-
AA r |
|
|
73
|
-
AAC r |
|
|
74
|
-
AAE r |
|
|
75
|
-
AAX r/w |
|
|
76
|
-
ACR r |
|
|
77
|
-
AFM r |
|
|
78
|
-
AI r/w |
|
|
79
|
-
AIFF r |
|
|
80
|
-
APE r |
|
|
81
|
-
ARQ r/w |
|
|
82
|
-
ARW r/w |
|
|
83
|
-
ASF r |
|
|
84
|
-
AVI r |
|
|
85
|
-
AVIF r/w |
|
|
86
|
-
AZW r |
|
|
87
|
-
BMP r |
|
|
88
|
-
BPG r |
|
|
89
|
-
BTF r |
|
|
90
|
-
C2PA r |
|
|
91
|
-
CHM r |
|
|
92
|
-
COS r |
|
|
93
|
-
CR2 r/w |
|
|
94
|
-
CR3 r/w |
|
|
95
|
-
CRM r/w |
|
|
96
|
-
CRW r/w |
|
|
97
|
-
CS1 r/w |
|
|
98
|
-
CSV r |
|
|
99
|
-
CUR r |
|
|
100
|
-
CZI r |
|
|
101
|
-
DCM r |
|
|
102
|
-
DCP r/w |
|
|
103
|
-
DCR r |
|
|
104
|
-
DFONT r |
|
|
105
|
-
DIVX r |
|
|
106
|
-
DJVU r |
|
|
107
|
-
DLL r |
|
|
108
|
-
DNG r/w |
|
|
109
|
-
DOC r |
|
|
66
|
+
360 r/w | DPX r | JNG r/w | ODP r | RSRC r
|
|
67
|
+
3FR r | DR4 r/w/c | JP2 r/w | ODS r | RTF r
|
|
68
|
+
3G2 r/w | DSS r | JPEG r/w | ODT r | RW2 r/w
|
|
69
|
+
3GP r/w | DV r | JSON r | OFR r | RWL r/w
|
|
70
|
+
7Z r | DVB r/w | JXL r/w | OGG r | RWZ r
|
|
71
|
+
A r | DVR-MS r | K25 r | OGV r | RM r
|
|
72
|
+
AA r | DYLIB r | KDC r | ONP r | SEQ r
|
|
73
|
+
AAC r | EIP r | KEY r | OPUS r | SKETCH r
|
|
74
|
+
AAE r | EPS r/w | LA r | ORF r/w | SO r
|
|
75
|
+
AAX r/w | EPUB r | LFP r | ORI r/w | SR2 r/w
|
|
76
|
+
ACR r | ERF r/w | LIF r | OTF r | SRF r
|
|
77
|
+
AFM r | EXE r | LNK r | PAC r | SRW r/w
|
|
78
|
+
AI r/w | EXIF r/w/c | LRV r/w | PAGES r | SVG r
|
|
79
|
+
AIFF r | EXR r | M2TS r | PBM r/w | SWF r
|
|
80
|
+
APE r | EXV r/w/c | M4A/V r/w | PCAP r | THM r/w
|
|
81
|
+
ARQ r/w | F4A/V r/w | MACOS r | PCAPNG r | TIFF r/w
|
|
82
|
+
ARW r/w | FFF r/w | MAX r | PCD r | TNEF r
|
|
83
|
+
ASF r | FITS r | MEF r/w | PCX r | TORRENT r
|
|
84
|
+
AVI r | FLA r | MIE r/w/c | PDB r | TTC r
|
|
85
|
+
AVIF r/w | FLAC r | MIFF r | PDF r/w | TTF r
|
|
86
|
+
AZW r | FLIF r/w | MKA r | PEF r/w | TXT r
|
|
87
|
+
BMP r | FLV r | MKS r | PFA r | VCF r
|
|
88
|
+
BPG r | FPF r | MKV r | PFB r | VNT r
|
|
89
|
+
BTF r | FPX r | MNG r/w | PFM r | VRD r/w/c
|
|
90
|
+
C2PA r | GIF r/w | MOBI r | PGF r | VSD r
|
|
91
|
+
CHM r | GLV r/w | MODD r | PGM r/w | WAV r
|
|
92
|
+
COS r | GPR r/w | MOI r | PLIST r | WDP r/w
|
|
93
|
+
CR2 r/w | GZ r | MOS r/w | PICT r | WEBP r/w
|
|
94
|
+
CR3 r/w | HDP r/w | MOV r/w | PMP r | WEBM r
|
|
95
|
+
CRM r/w | HDR r | MP3 r | PNG r/w | WMA r
|
|
96
|
+
CRW r/w | HEIC r/w | MP4 r/w | PPM r/w | WMV r
|
|
97
|
+
CS1 r/w | HEIF r/w | MPC r | PPT r | WPG r
|
|
98
|
+
CSV r | HTML r | MPG r | PPTX r | WTV r
|
|
99
|
+
CUR r | ICC r/w/c | MPO r/w | PS r/w | WV r
|
|
100
|
+
CZI r | ICO r | MQV r/w | PSB r/w | X3F r/w
|
|
101
|
+
DCM r | ICS r | MRC r | PSD r/w | XCF r
|
|
102
|
+
DCP r/w | IDML r | MRW r/w | PSP r | XISF r
|
|
103
|
+
DCR r | IIQ r/w | MXF r | QTIF r/w | XLS r
|
|
104
|
+
DFONT r | IND r/w | NEF r/w | R3D r | XLSX r
|
|
105
|
+
DIVX r | INSP r/w | NKA r | RA r | XMP r/w/c
|
|
106
|
+
DJVU r | INSV r | NKSC r/w | RAF r/w | ZIP r
|
|
107
|
+
DLL r | INX r | NRW r/w | RAM r |
|
|
108
|
+
DNG r/w | ISO r | NUMBERS r | RAR r |
|
|
109
|
+
DOC r | ITC r | NXD r | RAW r/w |
|
|
110
|
+
DOCX r | J2C r | O r | RIFF r |
|
|
110
111
|
|
|
111
112
|
Meta Information
|
|
112
113
|
----------------------+----------------------+---------------------
|
|
@@ -831,11 +832,12 @@ OPTIONS
|
|
|
831
832
|
-f (-forcePrint)
|
|
832
833
|
Force printing of tags even if they don't exist. This option
|
|
833
834
|
applies to tags specified on the command line, or with the -p, -if
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
835
|
+
(unless the API UndefTags option is set), -fileNUM or -tagsFromFile
|
|
836
|
+
options. When -f is used, the value of any missing tag is set to a
|
|
837
|
+
dash ("-") by default, but this may be configured via the API
|
|
838
|
+
MissingTagValue option. -f is also used to add a 'flags' attribute
|
|
839
|
+
to the -listx output, or to allow tags to be deleted when writing
|
|
840
|
+
with the -csv=*CSVFILE* feature.
|
|
839
841
|
|
|
840
842
|
-g[*NUM*][:*NUM*...] (-groupHeadings)
|
|
841
843
|
Organize output by tag group. *NUM* specifies a group family
|
|
@@ -1004,8 +1006,7 @@ OPTIONS
|
|
|
1004
1006
|
lib/Image/ExifTool/Lang/ru.pm, and search and replace all "MISSING"
|
|
1005
1007
|
strings in the file with your translations.
|
|
1006
1008
|
|
|
1007
|
-
7. Email the module ('ru.pm' in this example) to
|
|
1008
|
-
gmail.com
|
|
1009
|
+
7. Email the module ('ru.pm' in this example) to exiftool@gmail.com
|
|
1009
1010
|
|
|
1010
1011
|
8. Thank you!!
|
|
1011
1012
|
|
|
@@ -1014,7 +1015,8 @@ OPTIONS
|
|
|
1014
1015
|
index to be extracted. *INDEX* is 0 for the first item in the list.
|
|
1015
1016
|
Negative indices may also be used to reference items from the end
|
|
1016
1017
|
of the list. Has no effect on single-valued tags. Also applies to
|
|
1017
|
-
tag values when copying from a tag, and in -if
|
|
1018
|
+
tag values when copying from a tag, and in -if, -p and -fileNUM
|
|
1019
|
+
arguments.
|
|
1018
1020
|
|
|
1019
1021
|
-n (--printConv)
|
|
1020
1022
|
Disable print conversion for all tags. By default, extracted values
|
|
@@ -1081,7 +1083,7 @@ OPTIONS
|
|
|
1081
1083
|
|
|
1082
1084
|
produces output like this:
|
|
1083
1085
|
|
|
1084
|
-
-- Generated by ExifTool 13.
|
|
1086
|
+
-- Generated by ExifTool 13.34 --
|
|
1085
1087
|
File: a.jpg - 2003:10:31 15:44:19
|
|
1086
1088
|
(f/5.6, 1/60s, ISO 100)
|
|
1087
1089
|
File: b.jpg - 2006:05:23 11:57:38
|
|
@@ -1638,11 +1640,8 @@ OPTIONS
|
|
|
1638
1640
|
|
|
1639
1641
|
1) The -n and -b options also apply to tags used in *EXPR*.
|
|
1640
1642
|
|
|
1641
|
-
2)
|
|
1642
|
-
|
|
1643
|
-
condition unless they are also specified on the command line. The
|
|
1644
|
-
alternative is to use the $GROUP:all syntax. (eg. Use $exif:all
|
|
1645
|
-
instead of $exif in *EXPR* to test for the existence of EXIF tags.)
|
|
1643
|
+
2) The API RequestTags option is automatically set for all tags
|
|
1644
|
+
used in the -if condition.
|
|
1646
1645
|
|
|
1647
1646
|
3) Tags in the string are interpolated in a similar way to -p
|
|
1648
1647
|
before the expression is evaluated. In this interpolation, $/ is
|
|
@@ -1664,8 +1663,12 @@ OPTIONS
|
|
|
1664
1663
|
previous command when -execute was used, and may be used like any
|
|
1665
1664
|
other tag in the condition (ie. "$OK").
|
|
1666
1665
|
|
|
1667
|
-
7) The
|
|
1668
|
-
|
|
1666
|
+
7) The values of undefined tags in the expression are affected by
|
|
1667
|
+
the -f and -m options unless the API UndefTags option is also set.
|
|
1668
|
+
|
|
1669
|
+
8) The condition fails if a Perl error occurs. This could happen
|
|
1670
|
+
for instance if an undefined value (eg. a missing tag) is used
|
|
1671
|
+
improperly.
|
|
1669
1672
|
|
|
1670
1673
|
-m (-ignoreMinorErrors)
|
|
1671
1674
|
Ignore minor errors and warnings. This enables writing to files
|
|
@@ -1677,8 +1680,9 @@ OPTIONS
|
|
|
1677
1680
|
indicated by "[minor]" at the start of the message. Warnings which
|
|
1678
1681
|
affect processing when ignored are indicated by "[Minor]" (with a
|
|
1679
1682
|
capital "M"). Note that this causes missing values in
|
|
1680
|
-
-tagsFromFile, -p and -
|
|
1681
|
-
rather than an undefined value
|
|
1683
|
+
-tagsFromFile, -p, -if and -fileNUM strings to be set to an empty
|
|
1684
|
+
string rather than an undefined value (but this may be avoided for
|
|
1685
|
+
-if using the API UndefTags option).
|
|
1682
1686
|
|
|
1683
1687
|
-o *OUTFILE* or *FMT* (-out)
|
|
1684
1688
|
Set the output file or directory name when writing information.
|
|
@@ -2268,31 +2272,32 @@ OPTIONS
|
|
|
2268
2272
|
Set user parameter. *PARAM* is an arbitrary user parameter name.
|
|
2269
2273
|
This is an interface to the API UserParam option (see the
|
|
2270
2274
|
Image::ExifTool Options documentation), and provides a method to
|
|
2271
|
-
access user-defined parameters in arguments to the -if
|
|
2272
|
-
options as if they were any other tag. Appending a hash
|
|
2273
|
-
to *PARAM* (eg. "-userParam MyTag#=yes") also causes the
|
|
2274
|
-
to be extracted as a normal tag in the UserParam group.
|
|
2275
|
-
the -api option, the parameter value is set to 1 if
|
|
2276
|
-
omitted, undef if just *VAL* is omitted with "=", or an
|
|
2277
|
-
string if *VAL* is omitted with "^=".
|
|
2275
|
+
access user-defined parameters in arguments to the -if, -p and
|
|
2276
|
+
-fileNUM options as if they were any other tag. Appending a hash
|
|
2277
|
+
tag ("#") to *PARAM* (eg. "-userParam MyTag#=yes") also causes the
|
|
2278
|
+
parameter to be extracted as a normal tag in the UserParam group.
|
|
2279
|
+
Similar to the -api option, the parameter value is set to 1 if
|
|
2280
|
+
*=VAL* is omitted, undef if just *VAL* is omitted with "=", or an
|
|
2281
|
+
empty string if *VAL* is omitted with "^=".
|
|
2278
2282
|
|
|
2279
2283
|
exiftool -p "$test from $filename" -userparam test=Hello FILE
|
|
2280
2284
|
|
|
2281
2285
|
Advanced formatting feature
|
|
2282
2286
|
An advanced formatting feature allows modification of the value of any
|
|
2283
|
-
tag interpolated within a -if or -
|
|
2284
|
-
redirection string. Tag names within these strings are
|
|
2285
|
-
symbol, and an arbitrary Perl expression may be
|
|
2286
|
-
by placing braces around the tag name and
|
|
2287
|
-
the name, separated by a semicolon (ie.
|
|
2288
|
-
acts on the value of the tag through the
|
|
2289
|
-
and has access to the full ExifTool API
|
|
2290
|
-
object ($self) and the tag key ($tag). It
|
|
2291
|
-
code, including translation ("tr///") and
|
|
2292
|
-
operations, but note that braces within the
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2287
|
+
tag interpolated within a -if, -p or -fileNUM argument, or a
|
|
2288
|
+
-tagsFromFile redirection string. Tag names within these strings are
|
|
2289
|
+
prefixed by a "$" symbol, and an arbitrary Perl expression may be
|
|
2290
|
+
applied to the tag value by placing braces around the tag name and
|
|
2291
|
+
inserting the expression after the name, separated by a semicolon (ie.
|
|
2292
|
+
"${TAG;EXPR}"). The expression acts on the value of the tag through the
|
|
2293
|
+
default input variable ($_), and has access to the full ExifTool API
|
|
2294
|
+
through the current ExifTool object ($self) and the tag key ($tag). It
|
|
2295
|
+
may contain any valid Perl code, including translation ("tr///") and
|
|
2296
|
+
substitution ("s///") operations, but note that braces within the
|
|
2297
|
+
expression must be balanced. If the expression does not modify $_ the
|
|
2298
|
+
original tag value is returned. The example below prints the camera Make
|
|
2299
|
+
with spaces translated to underlines, and multiple consecutive
|
|
2300
|
+
underlines replaced by a single underline:
|
|
2296
2301
|
|
|
2297
2302
|
exiftool -p "${make;tr/ /_/;s/__+/_/g}" image.jpg
|
|
2298
2303
|
|
|
@@ -2310,6 +2315,8 @@ OPTIONS
|
|
|
2310
2315
|
in file names.)
|
|
2311
2316
|
|
|
2312
2317
|
Helper functions
|
|
2318
|
+
Note that function names are case sensitive.
|
|
2319
|
+
|
|
2313
2320
|
"DateFmt"
|
|
2314
2321
|
|
|
2315
2322
|
Simplifies reformatting of individual date/time values. This function
|
|
@@ -2348,8 +2355,6 @@ OPTIONS
|
|
|
2348
2355
|
|
|
2349
2356
|
exiftool -sep "##" "-keywords<${keywords;NoDups(1)}" a.jpg
|
|
2350
2357
|
|
|
2351
|
-
Note that function names are case sensitive.
|
|
2352
|
-
|
|
2353
2358
|
ExifTool 12.64 adds an API NoDups option which makes the NoDups helper
|
|
2354
2359
|
function largely redundant, with all the functionality except the
|
|
2355
2360
|
ability to avoid rewriting the file if there are no duplicates, but with
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "exiftool-vendored.pl",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.34.0",
|
|
4
4
|
"description": "Vendored perl ExifTool for Node.js",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"homepage": "https://github.com/photostructure/exiftool-vendored.pl#readme",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"update": "run-p update:*",
|
|
34
34
|
"update:deps": "ncu -u",
|
|
35
35
|
"update:exiftool": "bash -c ./update-exiftool.sh",
|
|
36
|
+
"check-version": "node check-version.js",
|
|
36
37
|
"install:pinact": "go install github.com/suzuki-shunsuke/pinact/cmd/pinact@latest",
|
|
37
38
|
"update:actions": "pinact run -u",
|
|
38
39
|
"release": "release-it"
|
|
@@ -51,9 +52,10 @@
|
|
|
51
52
|
}
|
|
52
53
|
},
|
|
53
54
|
"devDependencies": {
|
|
54
|
-
"mocha": "^11.7.
|
|
55
|
+
"mocha": "^11.7.1",
|
|
55
56
|
"npm-run-all": "4.1.5",
|
|
56
|
-
"prettier": "^3.
|
|
57
|
-
"release-it": "^19.0.3"
|
|
57
|
+
"prettier": "^3.6.2",
|
|
58
|
+
"release-it": "^19.0.3",
|
|
59
|
+
"xml2js": "^0.6.2"
|
|
58
60
|
}
|
|
59
61
|
}
|