exiftool_vendored 10.58.0 → 10.65.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/Changes +100 -1
- data/bin/MANIFEST +2 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +39 -38
- data/bin/arg_files/exif2iptc.args +3 -0
- data/bin/arg_files/iptc2exif.args +3 -0
- data/bin/config_files/example.config +16 -14
- data/bin/config_files/photoshop_paths.config +10 -0
- data/bin/exiftool +71 -65
- data/bin/lib/Image/ExifTool/APE.pm +5 -0
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +31 -15
- data/bin/lib/Image/ExifTool/Canon.pm +18 -4
- data/bin/lib/Image/ExifTool/CanonCustom.pm +3 -0
- data/bin/lib/Image/ExifTool/Charset/DOSLatin1.pm +49 -0
- data/bin/lib/Image/ExifTool/Charset/DOSLatinUS.pm +49 -0
- data/bin/lib/Image/ExifTool/Charset.pm +8 -5
- data/bin/lib/Image/ExifTool/Exif.pm +37 -18
- data/bin/lib/Image/ExifTool/FLAC.pm +47 -37
- data/bin/lib/Image/ExifTool/FLIR.pm +3 -3
- data/bin/lib/Image/ExifTool/FujiFilm.pm +5 -2
- data/bin/lib/Image/ExifTool/GPS.pm +6 -6
- data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
- data/bin/lib/Image/ExifTool/H264.pm +2 -0
- data/bin/lib/Image/ExifTool/ID3.pm +8 -3
- data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- data/bin/lib/Image/ExifTool/Import.pm +4 -1
- data/bin/lib/Image/ExifTool/InDesign.pm +11 -7
- data/bin/lib/Image/ExifTool/Kodak.pm +4 -1
- data/bin/lib/Image/ExifTool/Lang/de.pm +31 -31
- data/bin/lib/Image/ExifTool/MWG.pm +12 -4
- data/bin/lib/Image/ExifTool/MakerNotes.pm +3 -3
- data/bin/lib/Image/ExifTool/Matroska.pm +2 -1
- data/bin/lib/Image/ExifTool/Microsoft.pm +3 -3
- data/bin/lib/Image/ExifTool/Minolta.pm +71 -61
- data/bin/lib/Image/ExifTool/Nikon.pm +286 -43
- data/bin/lib/Image/ExifTool/NikonCustom.pm +1049 -0
- data/bin/lib/Image/ExifTool/Olympus.pm +4 -1
- data/bin/lib/Image/ExifTool/PNG.pm +4 -7
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +24 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +20 -6
- data/bin/lib/Image/ExifTool/Photoshop.pm +24 -3
- data/bin/lib/Image/ExifTool/QuickTime.pm +545 -14
- data/bin/lib/Image/ExifTool/README +16 -9
- data/bin/lib/Image/ExifTool/RIFF.pm +8 -1
- data/bin/lib/Image/ExifTool/Samsung.pm +5 -4
- data/bin/lib/Image/ExifTool/Sigma.pm +9 -1
- data/bin/lib/Image/ExifTool/Sony.pm +327 -153
- data/bin/lib/Image/ExifTool/TagLookup.pm +3273 -3220
- data/bin/lib/Image/ExifTool/TagNames.pod +317 -38
- data/bin/lib/Image/ExifTool/Validate.pm +15 -1
- data/bin/lib/Image/ExifTool/WriteExif.pl +5 -0
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +23 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +8 -2
- data/bin/lib/Image/ExifTool/WriteXMP.pl +7 -0
- data/bin/lib/Image/ExifTool/Writer.pl +96 -18
- data/bin/lib/Image/ExifTool/XMP.pm +20 -11
- data/bin/lib/Image/ExifTool/XMP2.pl +634 -583
- data/bin/lib/Image/ExifTool.pm +124 -17
- data/bin/lib/Image/ExifTool.pod +86 -82
- data/bin/perl-Image-ExifTool.spec +38 -37
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +4 -2
@@ -12,7 +12,7 @@ use strict;
|
|
12
12
|
use vars qw($VERSION);
|
13
13
|
use Image::ExifTool::Exif;
|
14
14
|
|
15
|
-
$VERSION = '1.
|
15
|
+
$VERSION = '1.47';
|
16
16
|
|
17
17
|
my %coordConv = (
|
18
18
|
ValueConv => 'Image::ExifTool::GPS::ToDegrees($val)',
|
@@ -40,8 +40,8 @@ my %coordConv = (
|
|
40
40
|
Writable => 'string',
|
41
41
|
Notes => q{
|
42
42
|
tags 0x0001-0x0006 used for camera location according to MWG 2.0. ExifTool
|
43
|
-
will also accept a number when writing
|
44
|
-
latitudes
|
43
|
+
will also accept a number when writing GPSLatitudeRef, positive for north
|
44
|
+
latitudes or negative for south, or a string ending in N or S
|
45
45
|
},
|
46
46
|
Count => 2,
|
47
47
|
PrintConv => {
|
@@ -69,8 +69,8 @@ my %coordConv = (
|
|
69
69
|
Writable => 'string',
|
70
70
|
Count => 2,
|
71
71
|
Notes => q{
|
72
|
-
ExifTool will also accept a number when writing this tag
|
73
|
-
|
72
|
+
ExifTool will also accept a number when writing this tag, positive for east
|
73
|
+
longitudes or negative for west, or a string ending in E or W
|
74
74
|
},
|
75
75
|
PrintConv => {
|
76
76
|
# extract E/W if written from Composite:GPSLongitude
|
@@ -386,7 +386,7 @@ my %coordConv = (
|
|
386
386
|
ValueConv => q{
|
387
387
|
my $alt = $val[0];
|
388
388
|
$alt = $val[2] unless defined $alt;
|
389
|
-
return undef unless defined $alt;
|
389
|
+
return undef unless defined $alt and IsFloat($alt);
|
390
390
|
return ($val[1] || $val[3]) ? -$alt : $alt;
|
391
391
|
},
|
392
392
|
PrintConv => q{
|
@@ -1076,7 +1076,7 @@ Category: foreach $category (qw{pos track alt orient}) {
|
|
1076
1076
|
# Returns: geosync hash:
|
1077
1077
|
# Offset = Offset in seconds for latest synchronization (GPS - image time)
|
1078
1078
|
# Points = hash of all sync offsets keyed by image times in seconds
|
1079
|
-
# Times = sorted list of image synchronization times (keys in Points hash)
|
1079
|
+
# Times = sorted list of image synchronization times (keys in Points hash)
|
1080
1080
|
# Notes: calling this routine with more than one geosync'd file causes time drift
|
1081
1081
|
# correction to be implemented
|
1082
1082
|
sub ConvertGeosync($$)
|
@@ -521,6 +521,8 @@ my $parsePictureTiming; # flag to enable parsing of picture timing information (
|
|
521
521
|
# 0x0345 - Panasonic HC-V7272
|
522
522
|
# 0x0414 - Panasonic AG-AF100
|
523
523
|
# 0x0591 - various Panasonic DMC models
|
524
|
+
# 0x0802 - Panasonic DMC-TZ60 with GPS information off
|
525
|
+
# 0x0803 - Panasonic DMC-TZ60 with GPS information on
|
524
526
|
# 0x3001 - various Sony DSC, HDR, NEX and SLT models
|
525
527
|
# 0x3003 - various Sony DSC models
|
526
528
|
# 0x3100 - various Sony DSC, ILCE, NEX and SLT models
|
@@ -16,7 +16,7 @@ use strict;
|
|
16
16
|
use vars qw($VERSION);
|
17
17
|
use Image::ExifTool qw(:DataAccess :Utils);
|
18
18
|
|
19
|
-
$VERSION = '1.
|
19
|
+
$VERSION = '1.48';
|
20
20
|
|
21
21
|
sub ProcessID3v2($$$);
|
22
22
|
sub ProcessPrivate($$$);
|
@@ -1093,7 +1093,7 @@ sub ProcessID3v2($$$)
|
|
1093
1093
|
}
|
1094
1094
|
}
|
1095
1095
|
# decode v2.3 and v2.4 flags
|
1096
|
-
my %flags;
|
1096
|
+
my (%flags, %extra);
|
1097
1097
|
if ($flags) {
|
1098
1098
|
if ($vers < 0x0400) {
|
1099
1099
|
# version 2.3 flags
|
@@ -1155,13 +1155,16 @@ sub ProcessID3v2($$$)
|
|
1155
1155
|
$dataLen == length($val) or $et->Warn("Wrong length for $id frame"), next;
|
1156
1156
|
}
|
1157
1157
|
unless ($tagInfo) {
|
1158
|
-
|
1158
|
+
next unless $verbose;
|
1159
|
+
%flags and $extra{Extra} = ', Flags=' . join(',', sort keys %flags);
|
1160
|
+
$et->VerboseInfo($id, $tagInfo,
|
1159
1161
|
Table => $tagTablePtr,
|
1160
1162
|
Value => $val,
|
1161
1163
|
DataPt => $dataPt,
|
1162
1164
|
DataPos => $$dirInfo{DataPos},
|
1163
1165
|
Size => $len,
|
1164
1166
|
Start => $offset,
|
1167
|
+
%extra
|
1165
1168
|
);
|
1166
1169
|
next;
|
1167
1170
|
}
|
@@ -1308,12 +1311,14 @@ sub ProcessID3v2($$$)
|
|
1308
1311
|
if ($lang and $lang =~ /^[a-z]{3}$/i and $lang ne 'eng') {
|
1309
1312
|
$tagInfo = Image::ExifTool::GetLangInfo($tagInfo, lc $lang);
|
1310
1313
|
}
|
1314
|
+
%flags and $extra{Extra} = ', Flags=' . join(',', sort keys %flags);
|
1311
1315
|
$et->HandleTag($tagTablePtr, $id, $val,
|
1312
1316
|
TagInfo => $tagInfo,
|
1313
1317
|
DataPt => $dataPt,
|
1314
1318
|
DataPos => $$dirInfo{DataPos},
|
1315
1319
|
Size => $len,
|
1316
1320
|
Start => $offset,
|
1321
|
+
%extra
|
1317
1322
|
);
|
1318
1323
|
}
|
1319
1324
|
}
|
@@ -1074,7 +1074,7 @@ sub ProcessIPTC($$$)
|
|
1074
1074
|
$et->FoundTag('CurrentIPTCDigest', $md5);
|
1075
1075
|
}
|
1076
1076
|
} else {
|
1077
|
-
if (($Image::ExifTool::MWG::strict or $et->Options('Validate')) and
|
1077
|
+
if (($Image::ExifTool::MWG::strict or $et->Options('Validate')) and
|
1078
1078
|
$$et{FILE_TYPE} =~ /^(JPEG|TIFF|PSD)$/)
|
1079
1079
|
{
|
1080
1080
|
if ($Image::ExifTool::MWG::strict) {
|
@@ -12,7 +12,7 @@ require Exporter;
|
|
12
12
|
|
13
13
|
use vars qw($VERSION @ISA @EXPORT_OK);
|
14
14
|
|
15
|
-
$VERSION = '1.
|
15
|
+
$VERSION = '1.08';
|
16
16
|
@ISA = qw(Exporter);
|
17
17
|
@EXPORT_OK = qw(ReadCSV ReadJSON);
|
18
18
|
|
@@ -139,6 +139,9 @@ sub ReadJSONObject($;$)
|
|
139
139
|
$pos = 0;
|
140
140
|
}
|
141
141
|
Tok: for (;;) {
|
142
|
+
# (didn't spend the time to understand how $pos could be undef, but
|
143
|
+
# put a test here to be safe because one user reported this problem)
|
144
|
+
last unless defined $pos;
|
142
145
|
if ($pos >= length $$buffPt or $readMore) {
|
143
146
|
# read another 64kB and add to unparsed data
|
144
147
|
my $offset = length($$buffPt) - $pos;
|
@@ -14,7 +14,7 @@ use strict;
|
|
14
14
|
use vars qw($VERSION);
|
15
15
|
use Image::ExifTool qw(:DataAccess :Utils);
|
16
16
|
|
17
|
-
$VERSION = '1.
|
17
|
+
$VERSION = '1.05';
|
18
18
|
|
19
19
|
# map for writing metadata to InDesign files (currently only write XMP)
|
20
20
|
my %indMap = (
|
@@ -145,14 +145,18 @@ sub ProcessIND($$)
|
|
145
145
|
Parent => 'IND',
|
146
146
|
NoDelete => 1, # do not allow this to be deleted when writing
|
147
147
|
);
|
148
|
+
# validate xmp data length (should be same as length in header - 4)
|
149
|
+
my $xmpLen = unpack($streamInt32u, $lenWord);
|
150
|
+
unless ($xmpLen == $len) {
|
151
|
+
if ($xmpLen < $len) {
|
152
|
+
$dirInfo{DirLen} = $xmpLen;
|
153
|
+
} else {
|
154
|
+
$err = 'Truncated XMP stream (missing ' . ($xmpLen - $len) . ' bytes)';
|
155
|
+
}
|
156
|
+
}
|
148
157
|
my $tagTablePtr = GetTagTable('Image::ExifTool::XMP::Main');
|
149
158
|
if ($outfile) {
|
150
|
-
|
151
|
-
my $xmpLen = unpack($streamInt32u, $lenWord);
|
152
|
-
unless ($xmpLen == $len) {
|
153
|
-
$err = "Incorrect XMP stream length ($xmpLen should be $len)";
|
154
|
-
last;
|
155
|
-
}
|
159
|
+
last if $err;
|
156
160
|
# make sure that XMP is writable
|
157
161
|
my $classID = Get32u(\$hdr, 20);
|
158
162
|
$classID & 0x40000000 or $err = 'XMP stream is not writable', last;
|
@@ -24,7 +24,7 @@ use vars qw($VERSION);
|
|
24
24
|
use Image::ExifTool qw(:DataAccess :Utils);
|
25
25
|
use Image::ExifTool::Exif;
|
26
26
|
|
27
|
-
$VERSION = '1.
|
27
|
+
$VERSION = '1.42';
|
28
28
|
|
29
29
|
sub ProcessKodakIFD($$$);
|
30
30
|
sub ProcessKodakText($$$);
|
@@ -189,6 +189,7 @@ sub WriteKodakIFD($$$);
|
|
189
189
|
1 => 'Flash?',
|
190
190
|
2 => 'Tungsten',
|
191
191
|
3 => 'Daylight',
|
192
|
+
# 5 - seen this for "Auto" with a ProBack 645M
|
192
193
|
},
|
193
194
|
},
|
194
195
|
0x5c => {
|
@@ -1527,12 +1528,14 @@ my %sceneModeUsed = (
|
|
1527
1528
|
'Exposure Mode' => {
|
1528
1529
|
Name => 'ExposureMode',
|
1529
1530
|
PrintConv => {
|
1531
|
+
OTHER => sub { shift }, # pass other values straight through
|
1530
1532
|
'M' => 'Manual',
|
1531
1533
|
'A' => 'Aperture Priority', #(NC -- I suppose this could be "Auto" too)
|
1532
1534
|
'S' => 'Shutter Priority', #(NC)
|
1533
1535
|
'P' => 'Program', #(NC)
|
1534
1536
|
'B' => 'Bulb', #(NC)
|
1535
1537
|
# have seen "Manual (M)" written by DCS760C - PH
|
1538
|
+
# and "Aperture priority AE (Av)" written by a ProBack 645M
|
1536
1539
|
},
|
1537
1540
|
},
|
1538
1541
|
'Firmware Version' => 'FirmwareVersion',
|
@@ -11,7 +11,7 @@ package Image::ExifTool::Lang::de;
|
|
11
11
|
use strict;
|
12
12
|
use vars qw($VERSION);
|
13
13
|
|
14
|
-
$VERSION = '1.
|
14
|
+
$VERSION = '1.33';
|
15
15
|
|
16
16
|
%Image::ExifTool::Lang::de::Translate = (
|
17
17
|
'AEAperture' => 'AE-Blende',
|
@@ -1094,7 +1094,7 @@ $VERSION = '1.32';
|
|
1094
1094
|
},
|
1095
1095
|
'Artist' => 'Künstler',
|
1096
1096
|
'ArtworkCreator' => 'Artwork Ersteller',
|
1097
|
-
'AsShotICCProfile' => 'Aufnahme
|
1097
|
+
'AsShotICCProfile' => 'Aufnahme Farbprofil',
|
1098
1098
|
'AsShotNeutral' => 'Aufnahme Neutral',
|
1099
1099
|
'AsShotPreProfileMatrix' => 'Aufnahme Pre Profil Matrix',
|
1100
1100
|
'AsShotProfileName' => 'Aufnahme Pre Profilname',
|
@@ -2334,7 +2334,7 @@ $VERSION = '1.32';
|
|
2334
2334
|
'Country' => 'Land',
|
2335
2335
|
'Country-PrimaryLocationCode' => 'ISO-Ländercode',
|
2336
2336
|
'Country-PrimaryLocationName' => 'Land',
|
2337
|
-
'CountryCode' => '
|
2337
|
+
'CountryCode' => 'ISO-Ländercode',
|
2338
2338
|
'Coverage' => 'Anwendungsbereich',
|
2339
2339
|
'CreateDate' => 'Digitalisierungsdatum/-uhrzeit',
|
2340
2340
|
'CreationDate' => 'Aufnahmedatum',
|
@@ -2376,8 +2376,8 @@ $VERSION = '1.32';
|
|
2376
2376
|
'CreatorContactInfo' => 'Ersteller Kontaktinfo',
|
2377
2377
|
'CreatorCountry' => 'Ersteller - Land',
|
2378
2378
|
'CreatorPostalCode' => 'Ersteller - PLZ',
|
2379
|
-
'CreatorRegion' => 'Ersteller -
|
2380
|
-
'CreatorTool' => '
|
2379
|
+
'CreatorRegion' => 'Ersteller - Bundesland/Kanton',
|
2380
|
+
'CreatorTool' => 'Erstellertool',
|
2381
2381
|
'CreatorWorkEmail' => 'Ersteller - E-Mail',
|
2382
2382
|
'CreatorWorkTelephone' => 'Ersteller - Telefon',
|
2383
2383
|
'CreatorWorkURL' => 'Ersteller - Webseite(n)',
|
@@ -3651,7 +3651,7 @@ $VERSION = '1.32';
|
|
3651
3651
|
'FirmwareVersion' => 'Firmware-Version',
|
3652
3652
|
'FixtureIdentifier' => 'Kennzeichnung',
|
3653
3653
|
'Flash' => {
|
3654
|
-
Description => '
|
3654
|
+
Description => 'Blitzmodus',
|
3655
3655
|
PrintConv => {
|
3656
3656
|
'Auto, Did not fire' => 'Blitz wurde nicht ausgelöst, Automodus',
|
3657
3657
|
'Auto, Did not fire, Red-eye reduction' => 'Blitz wurde nicht ausgelöst, Rote-Augen-Reduzierung',
|
@@ -4277,9 +4277,9 @@ $VERSION = '1.32';
|
|
4277
4277
|
},
|
4278
4278
|
'GEImageSize' => 'GE Bildgröße',
|
4279
4279
|
'GIFVersion' => 'GIF-Version',
|
4280
|
-
'GPSAltitude' => 'Höhe',
|
4280
|
+
'GPSAltitude' => 'GPS Höhe',
|
4281
4281
|
'GPSAltitudeRef' => {
|
4282
|
-
Description => '
|
4282
|
+
Description => 'GPS-Höhe Bezug',
|
4283
4283
|
PrintConv => {
|
4284
4284
|
'Above Sea Level' => 'Höhe über Normal-Null (Meeresspiegel)',
|
4285
4285
|
'Below Sea Level' => 'Höhe unter Normal-Null (Meeresspiegel)',
|
@@ -4288,7 +4288,7 @@ $VERSION = '1.32';
|
|
4288
4288
|
'GPSAreaInformation' => 'Name des GPS-Gebietes',
|
4289
4289
|
'GPSDOP' => 'Messgenauigkeit',
|
4290
4290
|
'GPSDateStamp' => 'GPS Datum',
|
4291
|
-
'GPSDateTime' => 'GPS
|
4291
|
+
'GPSDateTime' => 'GPS Zeitstempel',
|
4292
4292
|
'GPSDestBearing' => 'Motivrichtung',
|
4293
4293
|
'GPSDestBearingRef' => {
|
4294
4294
|
Description => 'Referenz für Motivrichtung',
|
@@ -4297,9 +4297,9 @@ $VERSION = '1.32';
|
|
4297
4297
|
'True North' => 'Geographische Ausrichtung',
|
4298
4298
|
},
|
4299
4299
|
},
|
4300
|
-
'GPSDestDistance' => '
|
4300
|
+
'GPSDestDistance' => 'GPS Zielentfernung',
|
4301
4301
|
'GPSDestDistanceRef' => {
|
4302
|
-
Description => '
|
4302
|
+
Description => 'GPS-Zielentfernung Maßeinheit',
|
4303
4303
|
PrintConv => {
|
4304
4304
|
'Kilometers' => 'Kilometer',
|
4305
4305
|
'Miles' => 'Meilen',
|
@@ -4323,7 +4323,7 @@ $VERSION = '1.32';
|
|
4323
4323
|
},
|
4324
4324
|
},
|
4325
4325
|
'GPSDifferential' => {
|
4326
|
-
Description => 'GPS
|
4326
|
+
Description => 'GPS Differentialkorrektur',
|
4327
4327
|
PrintConv => {
|
4328
4328
|
'Differential Corrected' => 'Differentialkorrektur angewandt',
|
4329
4329
|
'No Correction' => 'Messung ohne Differentialkorrektur',
|
@@ -4356,7 +4356,7 @@ $VERSION = '1.32';
|
|
4356
4356
|
},
|
4357
4357
|
'GPSMapDatum' => 'Geodätisches Datum',
|
4358
4358
|
'GPSMeasureMode' => {
|
4359
|
-
Description => 'GPS
|
4359
|
+
Description => 'GPS Messverfahren',
|
4360
4360
|
PrintConv => {
|
4361
4361
|
'2-D' => '2-Dimensionale Messung',
|
4362
4362
|
'2-Dimensional' => '2-Dimensionale Messung',
|
@@ -4378,13 +4378,13 @@ $VERSION = '1.32';
|
|
4378
4378
|
},
|
4379
4379
|
},
|
4380
4380
|
'GPSStatus' => {
|
4381
|
-
Description => 'GPS-Empfänger
|
4381
|
+
Description => 'GPS-Empfänger Status',
|
4382
4382
|
PrintConv => {
|
4383
4383
|
'Measurement Active' => 'Messung aktiv',
|
4384
4384
|
'Measurement Void' => 'Messung ungültig',
|
4385
4385
|
},
|
4386
4386
|
},
|
4387
|
-
'GPSTimeStamp' => 'GPS-Zeit
|
4387
|
+
'GPSTimeStamp' => 'GPS-Zeit UTC',
|
4388
4388
|
'GPSTrack' => 'Bewegungsrichtung',
|
4389
4389
|
'GPSTrackRef' => {
|
4390
4390
|
Description => 'Referenz für Bewegungsrichtung',
|
@@ -4468,7 +4468,7 @@ $VERSION = '1.32';
|
|
4468
4468
|
},
|
4469
4469
|
'Headline' => 'Überschrift',
|
4470
4470
|
'HeightResolution' => 'Vertikale Bildauflösung',
|
4471
|
-
'HierarchicalSubject' => 'Hierarchische
|
4471
|
+
'HierarchicalSubject' => 'Hierarchische Schlüsselwörter',
|
4472
4472
|
'HighISONoiseReduction' => {
|
4473
4473
|
Description => 'Rauschunterdrückung bei hoher Empfindlichkeit',
|
4474
4474
|
PrintConv => {
|
@@ -4536,7 +4536,7 @@ $VERSION = '1.32';
|
|
4536
4536
|
'HuffmanTable' => 'Huffman Tabelle',
|
4537
4537
|
'HyperfocalDistance' => 'Hyperfokale Entfernung',
|
4538
4538
|
'ICCProfile' => 'ICC-Profil',
|
4539
|
-
'ICCProfileName' => '
|
4539
|
+
'ICCProfileName' => 'ICC-Profil Name',
|
4540
4540
|
'ICC_Profile' => 'ICC-Profil',
|
4541
4541
|
'ID3Size' => 'ID3 Datenlänge',
|
4542
4542
|
'IDCCreativeStyle' => {
|
@@ -4862,7 +4862,7 @@ $VERSION = '1.32';
|
|
4862
4862
|
},
|
4863
4863
|
},
|
4864
4864
|
'Instructions' => 'Anweisungen',
|
4865
|
-
'IntellectualGenre' => 'Genre',
|
4865
|
+
'IntellectualGenre' => 'Intellektuelles Genre',
|
4866
4866
|
'IntelligentAuto' => {
|
4867
4867
|
PrintConv => {
|
4868
4868
|
'Advanced' => 'Erweitert',
|
@@ -4954,7 +4954,7 @@ $VERSION = '1.32';
|
|
4954
4954
|
'InternalName' => 'Interner Name',
|
4955
4955
|
'InternalSerialNumber' => 'Interne Seriennummer',
|
4956
4956
|
'InteropIndex' => {
|
4957
|
-
Description => '
|
4957
|
+
Description => 'Interoperabilität Identifikation',
|
4958
4958
|
PrintConv => {
|
4959
4959
|
'R03 - DCF option file (Adobe RGB)' => 'R03: DCF Option-Format (Adobe RGB)',
|
4960
4960
|
'R98 - DCF basic file (sRGB)' => 'R98: DCF Basic-Format (sRGB)',
|
@@ -4998,14 +4998,14 @@ $VERSION = '1.32';
|
|
4998
4998
|
},
|
4999
4999
|
'JPEGSize' => 'JPEG Größe',
|
5000
5000
|
'JPEGTables' => 'JPEG Tabellen',
|
5001
|
-
'JobID' => 'Job-
|
5001
|
+
'JobID' => 'Job-Kennung',
|
5002
5002
|
'JpgFromRaw' => 'Jpg From Raw Bild',
|
5003
5003
|
'JpgFromRawLength' => 'Jpg From Raw Datenlänge',
|
5004
5004
|
'JpgFromRawStart' => 'Jpg From Raw Datenposition',
|
5005
5005
|
'JpgRecordedPixels' => 'JPEG-Auflösung',
|
5006
5006
|
'Key' => 'Schlüssel',
|
5007
5007
|
'Keyword' => 'Schlüsselwort',
|
5008
|
-
'Keywords' => '
|
5008
|
+
'Keywords' => 'Schlüsselwörter',
|
5009
5009
|
'KodakImageHeight' => 'Kodak-Bildhöhe',
|
5010
5010
|
'KodakImageWidth' => 'Kodak-Bildbreite',
|
5011
5011
|
'LC1' => 'Objektiv-Wert',
|
@@ -5054,7 +5054,7 @@ $VERSION = '1.32';
|
|
5054
5054
|
'On' => 'Ein',
|
5055
5055
|
},
|
5056
5056
|
},
|
5057
|
-
'Label' => '
|
5057
|
+
'Label' => 'Beschriftung',
|
5058
5058
|
'Landmark' => 'Sehenswürdigkeit',
|
5059
5059
|
'Language' => 'Sprache',
|
5060
5060
|
'LanguageCode' => {
|
@@ -6051,7 +6051,7 @@ $VERSION = '1.32';
|
|
6051
6051
|
'OriginalTHMFileType' => 'Original THM Dateityp',
|
6052
6052
|
'OriginalTHMImage' => 'Original THM Bild',
|
6053
6053
|
'OriginalTHMResource' => 'Original THM Basisdaten',
|
6054
|
-
'OriginalTransmissionReference' => '
|
6054
|
+
'OriginalTransmissionReference' => 'Anbietervermerk Verweis',
|
6055
6055
|
'OriginatingProgram' => 'Erstellungsprogramm',
|
6056
6056
|
'OtherImage' => 'Other Image Vorschaubild',
|
6057
6057
|
'OtherImageLength' => 'OtherImage Datenlänge',
|
@@ -6511,7 +6511,7 @@ $VERSION = '1.32';
|
|
6511
6511
|
'ProcessingInfo' => 'Verarbeitungsinformationen',
|
6512
6512
|
'ProcessingSoftware' => 'Verarbeitungssoftware',
|
6513
6513
|
'Producer' => 'Produzent',
|
6514
|
-
'ProducerKeywords' => 'Hersteller
|
6514
|
+
'ProducerKeywords' => 'Hersteller Schlüsselwörter',
|
6515
6515
|
'Producers' => 'Produzent',
|
6516
6516
|
'ProductID' => 'Produkt-ID',
|
6517
6517
|
'ProductionCode' => 'Herstellungskennzeichen',
|
@@ -6533,8 +6533,8 @@ $VERSION = '1.32';
|
|
6533
6533
|
'ProfileCopyright' => 'Urheberrechtsvermerk',
|
6534
6534
|
'ProfileCreator' => 'Profilersteller',
|
6535
6535
|
'ProfileDateTime' => 'Profil-Erstellungszeit',
|
6536
|
-
'ProfileDescription' => '
|
6537
|
-
'ProfileDescriptionML' => '
|
6536
|
+
'ProfileDescription' => 'Farbprofil Name',
|
6537
|
+
'ProfileDescriptionML' => 'Farbprofil Name mehrsprachig',
|
6538
6538
|
'ProfileFileSignature' => 'Profil-Datei-Signatur',
|
6539
6539
|
'ProfileID' => 'Profile-ID',
|
6540
6540
|
'ProfileSequenceDesc' => 'Profilsequenz-Beschreibung',
|
@@ -7722,9 +7722,9 @@ $VERSION = '1.32';
|
|
7722
7722
|
'Monochrome' => 'Monochrom',
|
7723
7723
|
},
|
7724
7724
|
},
|
7725
|
-
'Subject' => '
|
7725
|
+
'Subject' => 'Themen/Schlüsselwörter',
|
7726
7726
|
'SubjectArea' => 'Hauptobjektposition',
|
7727
|
-
'SubjectCode' => 'Themencode',
|
7727
|
+
'SubjectCode' => 'IPTC Themencode',
|
7728
7728
|
'SubjectDistance' => 'Objektentfernung',
|
7729
7729
|
'SubjectDistanceRange' => {
|
7730
7730
|
Description => 'Objektdistanzbereich',
|
@@ -8092,7 +8092,7 @@ $VERSION = '1.32';
|
|
8092
8092
|
'Rotate 90 CW' => '90° im Uhrzeigersinn',
|
8093
8093
|
},
|
8094
8094
|
},
|
8095
|
-
'TransmissionReference' => '
|
8095
|
+
'TransmissionReference' => 'Anbietervermerk',
|
8096
8096
|
'Trapped' => {
|
8097
8097
|
PrintConv => {
|
8098
8098
|
'Unknown' => 'Unbekannt',
|
@@ -8198,7 +8198,7 @@ $VERSION = '1.32';
|
|
8198
8198
|
'Enable' => 'Möglich',
|
8199
8199
|
},
|
8200
8200
|
},
|
8201
|
-
'UsageTerms' => '
|
8201
|
+
'UsageTerms' => 'Nutzungsbedingungen',
|
8202
8202
|
'UserComment' => 'Benutzerkommentar',
|
8203
8203
|
'UserDef1PictureStyle' => {
|
8204
8204
|
Description => 'Bildstil Benutzerdefiniert 1',
|
@@ -8632,7 +8632,7 @@ $VERSION = '1.32';
|
|
8632
8632
|
'XMP' => 'XMP Metadaten',
|
8633
8633
|
'XPAuthor' => 'XP Autor',
|
8634
8634
|
'XPComment' => 'XP Kommentar',
|
8635
|
-
'XPKeywords' => 'XP
|
8635
|
+
'XPKeywords' => 'XP Schlüsselwörter',
|
8636
8636
|
'XPSubject' => 'XP Thema',
|
8637
8637
|
'XPTitle' => 'XP Titel',
|
8638
8638
|
'XResolution' => 'Horizontale Bildauflösung',
|
@@ -16,7 +16,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
16
16
|
use Image::ExifTool::Exif;
|
17
17
|
use Image::ExifTool::XMP;
|
18
18
|
|
19
|
-
$VERSION = '1.
|
19
|
+
$VERSION = '1.21';
|
20
20
|
|
21
21
|
sub RecoverTruncatedIPTC($$$);
|
22
22
|
sub ListToString($);
|
@@ -130,7 +130,11 @@ my $mwgLoaded; # flag set if we alreaded Load()ed the MWG tags
|
|
130
130
|
},
|
131
131
|
# must check for validity in RawConv to avoid hiding a same-named tag,
|
132
132
|
# but IPTC dates use a ValueConv so we need to derive the value there
|
133
|
-
RawConv =>
|
133
|
+
RawConv => q{
|
134
|
+
(defined $val[0] or defined $val[1] or defined $val[3] or
|
135
|
+
(defined $val[4] and (not defined $val[5] or not defined $val[6]
|
136
|
+
or $val[5] eq $val[6]))) ? $val : undef
|
137
|
+
},
|
134
138
|
ValueConv => q{
|
135
139
|
return $val[0] if defined $val[0] and $val[0] !~ /^[: ]*$/;
|
136
140
|
return $val[1] if defined $val[1] and $val[1] !~ /^[: ]*$/;
|
@@ -166,7 +170,11 @@ my $mwgLoaded; # flag set if we alreaded Load()ed the MWG tags
|
|
166
170
|
5 => 'CurrentIPTCDigest',
|
167
171
|
6 => 'IPTCDigest',
|
168
172
|
},
|
169
|
-
RawConv =>
|
173
|
+
RawConv => q{
|
174
|
+
(defined $val[0] or defined $val[1] or defined $val[3] or
|
175
|
+
(defined $val[4] and (not defined $val[5] or not defined $val[6]
|
176
|
+
or $val[5] eq $val[6]))) ? $val : undef
|
177
|
+
},
|
170
178
|
ValueConv => q{
|
171
179
|
return $val[0] if defined $val[0] and $val[0] !~ /^[: ]*$/;
|
172
180
|
return $val[1] if defined $val[1] and $val[1] !~ /^[: ]*$/;
|
@@ -430,7 +438,7 @@ my %sRegionStruct = (
|
|
430
438
|
Extensions => { Struct => \%sExtensions },
|
431
439
|
Rotation => { # (observed in LR6 XMP)
|
432
440
|
Writable => 'real',
|
433
|
-
Notes => '
|
441
|
+
Notes => 'not part of MWG 2.0 spec',
|
434
442
|
},
|
435
443
|
seeAlso => { Namespace => 'rdfs', Resource => 1 },
|
436
444
|
);
|
@@ -21,7 +21,7 @@ sub ProcessKodakPatch($$$);
|
|
21
21
|
sub WriteUnknownOrPreview($$$);
|
22
22
|
sub FixLeicaBase($$;$);
|
23
23
|
|
24
|
-
$VERSION = '
|
24
|
+
$VERSION = '2.00';
|
25
25
|
|
26
26
|
my $debug; # set to 1 to enable debugging code
|
27
27
|
|
@@ -608,7 +608,7 @@ my $debug; # set to 1 to enable debugging code
|
|
608
608
|
# (T (Typ 701) starts with "LEICA\0\0x6", Make is "LEICA CAMERA AG")
|
609
609
|
# (X (Typ 113) starts with "LEICA\0\0x7", Make is "LEICA CAMERA AG")
|
610
610
|
# (X-U (Typ 113) starts with "LEICA\0\x10\0", Make is "LEICA CAMERA AG")
|
611
|
-
Condition => '$$valPt =~ /^LEICA\0[\x01\x04\x05\x06\x07\x10]\0/',
|
611
|
+
Condition => '$$valPt =~ /^LEICA\0[\x01\x04\x05\x06\x07\x10\x1a]\0/',
|
612
612
|
SubDirectory => {
|
613
613
|
TagTable => 'Image::ExifTool::Panasonic::Leica5',
|
614
614
|
Start => '$valuePtr + 8',
|
@@ -752,7 +752,7 @@ my $debug; # set to 1 to enable debugging code
|
|
752
752
|
{
|
753
753
|
Name => 'MakerNotePentax5',
|
754
754
|
# (starts with "PENTAX \0")
|
755
|
-
# used by cameras such as the Q, Optio
|
755
|
+
# used by cameras such as the Q, Optio S1, RS1500 and WG-1
|
756
756
|
Condition => '$$valPt=~/^PENTAX \0/',
|
757
757
|
SubDirectory => {
|
758
758
|
TagTable => 'Image::ExifTool::Pentax::Main',
|
@@ -14,7 +14,7 @@ use strict;
|
|
14
14
|
use vars qw($VERSION);
|
15
15
|
use Image::ExifTool qw(:DataAccess :Utils);
|
16
16
|
|
17
|
-
$VERSION = '1.
|
17
|
+
$VERSION = '1.09';
|
18
18
|
|
19
19
|
my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
20
20
|
|
@@ -659,6 +659,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
659
659
|
0 => 'Rectangular',
|
660
660
|
1 => 'Equirectangular',
|
661
661
|
2 => 'Cubemap',
|
662
|
+
3 => 'Mesh',
|
662
663
|
},
|
663
664
|
},
|
664
665
|
0x7672 => [{
|
@@ -16,7 +16,7 @@ use vars qw($VERSION);
|
|
16
16
|
use Image::ExifTool qw(:DataAccess :Utils);
|
17
17
|
use Image::ExifTool::XMP;
|
18
18
|
|
19
|
-
$VERSION = '1.
|
19
|
+
$VERSION = '1.19';
|
20
20
|
|
21
21
|
sub ProcessXtra($$$);
|
22
22
|
|
@@ -88,8 +88,8 @@ sub ProcessXtra($$$);
|
|
88
88
|
Rating => {
|
89
89
|
Name => 'RatingPercent',
|
90
90
|
Notes => q{
|
91
|
-
|
92
|
-
|
91
|
+
XMP-xmp:Rating values of 1,2,3,4 and 5 stars correspond to RatingPercent
|
92
|
+
values of 1,25,50,75 and 99 respectively
|
93
93
|
},
|
94
94
|
},
|
95
95
|
CreatorAppId => { Name => 'CreatorAppID' },
|