1#------------------------------------------------------------------------------ 2# File: fotoware.config 3# 4# Description: This config file defines Fotoware XMP tags for writing. 5# 6# Notes: Length limits are imposed according to Fotoware limitations when 7# writing string values, but these may be disabled with the -n 8# option or by adding a "#" to the tag name. However, beware that 9# longer strings may cause unpredictable results in Fotoware 10# software. 11# 12# Use of this file will not bring full Fotoware 'experience'. 13# Fotostation writes these tags not only into XMP but also in IIM 14# and even Exif spaces. Communication with older Fotoware systems 15# may be broken when using only XMP. 16# 17# Also note that there are potential problems with character 18# encoding on systems with mixed environments, depending on 19# Fotoware software settings. 20# 21# Usage: exiftool -config fotoware.config -FOTOWARETAG=VALUE FILE ... 22# 23# Requires: ExifTool version 7.00 or later 24# 25# Revisions: 2012/09/19 - P. Harvey Created 26# 2016/09/24 - Mikolaj Machowski updated with new Fotostation tags 27#------------------------------------------------------------------------------ 28 29%Image::ExifTool::UserDefined = ( 30 'Image::ExifTool::XMP::Main' => { 31 fwl => { 32 SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::fwl' }, 33 }, 34 fwr => { 35 SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::fwr' }, 36 }, 37 fwc => { 38 SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::fwc' }, 39 }, 40 fwu => { 41 SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::fwu' }, 42 }, 43 }, 44); 45 46%Image::ExifTool::UserDefined::fwl = ( 47 GROUPS => { 0 => 'XMP', 1 => 'XMP-fwl', 2 => 'Image' }, 48 NAMESPACE => { 'fwl' => 'http://ns.fotoware.com/iptcxmp-legacy/1.0/' }, 49 WRITABLE => 'string', 50 # limit maximum lengths of string values 51 CreatedTime => { PrintConvInv => 'substr($val,0,16)' }, 52 EditStatus => { PrintConvInv => 'substr($val,0,64)' }, 53 FixtureIdentifier=> { PrintConvInv => 'substr($val,0,1024)' }, 54 LocalCaption => { PrintConvInv => 'substr($val,0,2000)' }, 55 ObjectCycle => { PrintConvInv => 'substr($val,0,32)' }, 56 ProgramVersion => { PrintConvInv => 'substr($val,0,10)' }, 57 ReferenceNumber => { PrintConvInv => 'substr($val,0,256)' }, 58 ReferenceService => { PrintConvInv => 'substr($val,0,256)' }, 59 ReferenceDate => { 60 Groups => { 2 => 'Time' }, 61 Writable => 'date', 62 Shift => 'Time', 63 PrintConv => '$self->ConvertDateTime($val)', 64 PrintConvInv => '$self->InverseDateTime($val,undef,1)', 65 }, 66 ReleaseDate => { 67 Groups => { 2 => 'Time' }, 68 Writable => 'date', 69 Shift => 'Time', 70 PrintConv => '$self->ConvertDateTime($val)', 71 PrintConvInv => '$self->InverseDateTime($val,undef,1)', 72 }, 73 ReleaseTime => { PrintConvInv => 'substr($val,0,16)' }, 74); 75 76%Image::ExifTool::UserDefined::fwr = ( 77 GROUPS => { 0 => 'XMP', 1 => 'XMP-fwr', 2 => 'Image' }, 78 NAMESPACE => { 'fwr' => 'http://ns.fotoware.com/iptcxmp-reserved/1.0/' }, 79 WRITABLE => 'string', 80 Classify => { PrintConvInv => 'substr($val,0,256)' }, 81 DocumentText => { PrintConvInv => 'substr($val,0,2000)' }, 82 Exif => { PrintConvInv => 'substr($val,0,1024)' }, 83 History => { PrintConvInv => 'substr($val,0,256)' }, 84 ImageNotes => { PrintConvInv => 'substr($val,0,256)' }, 85 JobId => { PrintConvInv => 'substr($val,0,256)' }, 86 OwnerId => { PrintConvInv => 'substr($val,0,256)' }, 87 ShortUniqeId => { PrintConvInv => 'substr($val,0,256)' }, 88 ContentValue => { PrintConvInv => 'substr($val,0,256)' }, 89 UniqueId => { PrintConvInv => 'substr($val,0,256)' }, 90 MasterDocumentId => { PrintConvInv => 'substr($val,0,256)' }, 91); 92 93 94%Image::ExifTool::UserDefined::fwc = ( 95 GROUPS => { 0 => 'XMP', 1 => 'XMP-fwc', 2 => 'Image' }, 96 NAMESPACE => { 'fwc' => 'http://ns.fotoware.com/iptcxmp-custom/1.0/' }, 97 WRITABLE => 'string', 98 # generate CustomField1 through CustomField20 tags 99 map { 'CustomField' . $_ => { 100 PrintConvInv => 'substr($val,0,256)', 101 } } (1 .. 20), 102); 103 104%Image::ExifTool::UserDefined::fwu = ( 105 GROUPS => { 0 => 'XMP', 1 => 'XMP-fwu', 2 => 'Image' }, 106 NAMESPACE => { 'fwu' => 'http://ns.fotoware.com/iptcxmp-user/1.0/' }, 107 WRITABLE => 'string', 108 # generate UserDefined1 through UserDefined255 tags 109 map { 'UserDefined' . $_ => { 110 PrintConvInv => 'substr($val,0,256)', 111 } } (1 .. 255), 112); 113 1141; #end 115