You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by da...@apache.org on 2012/03/19 06:45:51 UTC

svn commit: r1302275 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/constants/ test/java/org/apache/commons/sanselan/formats/tiff/

Author: damjan
Date: Mon Mar 19 05:45:50 2012
New Revision: 1302275

URL: http://svn.apache.org/viewvc?rev=1302275&view=rev
Log:
Factor out Wang, Microsoft and DCF tags.
Update RFC 2301 tags.


Added:
    commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DcfTagConstants.java   (with props)
    commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/MicrosoftTagConstants.java   (with props)
    commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/WangTagConstants.java   (with props)
Modified:
    commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
    commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
    commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Rfc2301TagConstants.java
    commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java

Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev=1302275&r1=1302274&r2=1302275&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java Mon Mar 19 05:45:50 2012
@@ -28,11 +28,13 @@ public interface AllTagConstants
 {
     public static final List<TagInfo> ALL_TAGS = Collections.unmodifiableList(
             TagConstantsUtils.mergeTagLists(
-                    Tiff4TagConstants.ALL_TIFF_4_TAGS,
-                    TiffTagConstants.ALL_TIFF_TAGS,
+                    AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAG_CONSTANTS,
+                    DcfTagConstants.ALL_DCF_TAGS,
                     ExifTagConstants.ALL_EXIF_TAGS,
+                    GpsTagConstants.ALL_GPS_TAGS,
+                    MicrosoftTagConstants.ALL_MICROSOFT_TAGS,
                     Rfc2301TagConstants.ALL_RFC_2301_TAGS,
-                    AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAG_CONSTANTS,
-                    GpsTagConstants.ALL_GPS_TAGS));
-
+                    Tiff4TagConstants.ALL_TIFF_4_TAGS,
+                    TiffTagConstants.ALL_TIFF_TAGS,
+                    WangTagConstants.ALL_WANG_TAGS));
 }
\ No newline at end of file

Added: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DcfTagConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DcfTagConstants.java?rev=1302275&view=auto
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DcfTagConstants.java (added)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DcfTagConstants.java Mon Mar 19 05:45:50 2012
@@ -0,0 +1,42 @@
+package org.apache.commons.sanselan.formats.tiff.constants;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoAscii;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoShort;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoShortOrLong;
+
+/**
+ * Design rule for Camera Filesystem
+ * <BR>
+ * http://www.exif.org/dcf.PDF
+ */
+public interface DcfTagConstants extends TiffFieldTypeConstants {
+    public static final TagInfoAscii EXIF_TAG_RELATED_IMAGE_FILE_FORMAT = new TagInfoAscii(
+            "Related Image File Format", 0x1000, -1,
+            TiffDirectoryType.EXIF_DIRECTORY_INTEROP_IFD);
+    
+    public static final TagInfoShortOrLong EXIF_TAG_RELATED_IMAGE_WIDTH = new TagInfoShortOrLong(
+            "Related Image Width", 0x1001, 1,
+            TiffDirectoryType.EXIF_DIRECTORY_INTEROP_IFD);
+    
+    public static final TagInfoShortOrLong EXIF_TAG_RELATED_IMAGE_LENGTH = new TagInfoShortOrLong(
+            "Related Image Length", 0x1002, 1,
+            TiffDirectoryType.EXIF_DIRECTORY_INTEROP_IFD);
+    
+    public static final TagInfoShort EXIF_TAG_COLOR_SPACE = new TagInfoShort(
+            "Color Space", 0xa001, 1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
+    public static final int COLOR_SPACE_VALUE_SRGB = 1;
+    public static final int COLOR_SPACE_VALUE_ADOBE_RGB = 2;
+    public static final int COLOR_SPACE_VALUE_UNCALIBRATED = 65535;
+
+    public static final List<TagInfo> ALL_DCF_TAGS =
+            Collections.unmodifiableList(Arrays.asList(
+                    EXIF_TAG_RELATED_IMAGE_FILE_FORMAT,
+                    EXIF_TAG_RELATED_IMAGE_WIDTH,
+                    EXIF_TAG_RELATED_IMAGE_LENGTH,
+                    EXIF_TAG_COLOR_SPACE));
+}

Propchange: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DcfTagConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java?rev=1302275&r1=1302274&r2=1302275&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java Mon Mar 19 05:45:50 2012
@@ -85,11 +85,6 @@ public interface ExifTagConstants
             TiffDirectoryType.EXIF_DIRECTORY_SUB_IFD2);
     public static final TagInfoUndefined EXIF_TAG_JPEGTABLES = new TagInfoUndefined("JPEGTables",
             0x015b, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoRational EXIF_TAG_DECODE = new TagInfoRational("Decode", 0x01b1,
-            -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoShort EXIF_TAG_DEFAULT_IMAGE_COLOR = new TagInfoShort(
-            "Default Image Color", 0x01b2, -1,
-            TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoLong EXIF_TAG_PREVIEW_IMAGE_START_MAKER_NOTES = new TagInfoLong(
             "Preview Image Start", 0x0201, 1,
             TiffDirectoryType.EXIF_DIRECTORY_MAKER_NOTES);
@@ -114,28 +109,9 @@ public interface ExifTagConstants
     public static final TagInfoLong EXIF_TAG_OTHER_IMAGE_LENGTH = new TagInfoLong(
             "Other Image Length", 0x0202, 1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoLong EXIF_TAG_STRIP_ROW_COUNTS = new TagInfoLong(
-            "Strip Row Counts", 0x022f, -1,
-            TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoByte EXIF_TAG_APPLICATION_NOTES = new TagInfoByte(
             "Application Notes", 0x02bc, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoAscii EXIF_TAG_RELATED_IMAGE_FILE_FORMAT = new TagInfoAscii(
-            "Related Image File Format", 0x1000, 1,
-            TiffDirectoryType.EXIF_DIRECTORY_INTEROP_IFD);
-    public static final TagInfoShort EXIF_TAG_RELATED_IMAGE_WIDTH = new TagInfoShort(
-            "Related Image Width", 0x1001, 1,
-            TiffDirectoryType.EXIF_DIRECTORY_INTEROP_IFD);
-    public static final TagInfoShort EXIF_TAG_RELATED_IMAGE_LENGTH = new TagInfoShort(
-            "Related Image Length", 0x1002, 1,
-            TiffDirectoryType.EXIF_DIRECTORY_INTEROP_IFD);
-    public static final TagInfoShort EXIF_TAG_RATING = new TagInfoShort("Rating", 0x4746,
-            1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-    public static final TagInfoShort EXIF_TAG_RATING_PERCENT = new TagInfoShort(
-            "Rating Percent", 0x4749, 1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-    public static final TagInfoByte EXIF_TAG_WANG_ANNOTATION = new TagInfoByte(
-            "Wang Annotation", 0x80a4, -1,
-            TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoUnknown EXIF_TAG_MATTEING = new TagInfoUnknown("Matteing",
             0x80e3, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoUnknown EXIF_TAG_DATA_TYPE = new TagInfoUnknown("Data Type",
@@ -262,9 +238,6 @@ public interface ExifTagConstants
     public static final TagInfoUndefined EXIF_TAG_ICC_PROFILE = new TagInfoUndefined(
             "ICC_ Profile", 0x8773, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoShortOrLong EXIF_TAG_IMAGE_LAYER = new TagInfoShortOrLong(
-            "Image Layer", 0x87ac, 2,
-            TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoShort EXIF_TAG_GEO_TIFF_DIRECTORY = new TagInfoShort(
             "Geo Tiff Directory", 0x87af, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
@@ -496,11 +469,6 @@ public interface ExifTagConstants
     public static final TagInfoUndefined EXIF_TAG_FLASHPIX_VERSION = new TagInfoUndefined(
             "Flashpix Version", 0xa000, 1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final TagInfoShort EXIF_TAG_COLOR_SPACE = new TagInfoShort(
-            "Color Space", 0xa001, 1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final int COLOR_SPACE_VALUE_SRGB = 1;
-    public static final int COLOR_SPACE_VALUE_ADOBE_RGB = 2;
-    public static final int COLOR_SPACE_VALUE_UNCALIBRATED = 65535;
     public static final TagInfoShort EXIF_TAG_EXIF_IMAGE_WIDTH = new TagInfoShort(
             "Exif Image Width", 0xa002, 1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
@@ -1021,19 +989,14 @@ public interface ExifTagConstants
                     EXIF_TAG_PREVIEW_IMAGE_LENGTH_SUB_IFD1,
                     EXIF_TAG_JPG_FROM_RAW_LENGTH_SUB_IFD2,
                     EXIF_TAG_JPEGTABLES,
-                    EXIF_TAG_DECODE,
-                    EXIF_TAG_DEFAULT_IMAGE_COLOR,
                     EXIF_TAG_PREVIEW_IMAGE_START_MAKER_NOTES,
                     EXIF_TAG_JPG_FROM_RAW_START_SUB_IFD,
                     EXIF_TAG_JPG_FROM_RAW_START_IFD2, EXIF_TAG_OTHER_IMAGE_START,
                     EXIF_TAG_PREVIEW_IMAGE_LENGTH_MAKER_NOTES,
                     EXIF_TAG_JPG_FROM_RAW_LENGTH_SUB_IFD,
                     EXIF_TAG_JPG_FROM_RAW_LENGTH_IFD2, EXIF_TAG_OTHER_IMAGE_LENGTH,
-                    EXIF_TAG_STRIP_ROW_COUNTS, EXIF_TAG_APPLICATION_NOTES,
-                    EXIF_TAG_RELATED_IMAGE_FILE_FORMAT, EXIF_TAG_RELATED_IMAGE_WIDTH,
-                    EXIF_TAG_RELATED_IMAGE_LENGTH, EXIF_TAG_RATING,
-                    EXIF_TAG_RATING_PERCENT,
-                    EXIF_TAG_WANG_ANNOTATION, EXIF_TAG_MATTEING, EXIF_TAG_DATA_TYPE,
+                    EXIF_TAG_APPLICATION_NOTES,
+                    EXIF_TAG_MATTEING, EXIF_TAG_DATA_TYPE,
                     EXIF_TAG_IMAGE_DEPTH, EXIF_TAG_TILE_DEPTH, EXIF_TAG_MODEL_2,
                     EXIF_TAG_CFAREPEAT_PATTERN_DIM, EXIF_TAG_CFAPATTERN_2,
                     EXIF_TAG_BATTERY_LEVEL, EXIF_TAG_EXPOSURE_TIME,
@@ -1054,7 +1017,7 @@ public interface ExifTagConstants
                     EXIF_TAG_HCUSAGE, EXIF_TAG_SEMINFO, EXIF_TAG_AFCP_IPTC,
                     EXIF_TAG_MODEL_TRANSFORM, EXIF_TAG_LEAF_DATA,
                     EXIF_TAG_PHOTOSHOP_SETTINGS, EXIF_TAG_EXIF_OFFSET,
-                    EXIF_TAG_ICC_PROFILE, EXIF_TAG_IMAGE_LAYER,
+                    EXIF_TAG_ICC_PROFILE,
                     EXIF_TAG_GEO_TIFF_DIRECTORY, EXIF_TAG_GEO_TIFF_DOUBLE_PARAMS,
                     EXIF_TAG_GEO_TIFF_ASCII_PARAMS, EXIF_TAG_EXPOSURE_PROGRAM,
                     EXIF_TAG_SPECTRAL_SENSITIVITY, EXIF_TAG_GPSINFO, EXIF_TAG_ISO,
@@ -1081,7 +1044,7 @@ public interface ExifTagConstants
                     EXIF_TAG_SUB_SEC_TIME_ORIGINAL, EXIF_TAG_SUB_SEC_TIME_DIGITIZED,
                     EXIF_TAG_IMAGE_SOURCE_DATA, EXIF_TAG_XPTITLE, EXIF_TAG_XPCOMMENT,
                     EXIF_TAG_XPAUTHOR, EXIF_TAG_XPKEYWORDS, EXIF_TAG_XPSUBJECT,
-                    EXIF_TAG_FLASHPIX_VERSION, EXIF_TAG_COLOR_SPACE,
+                    EXIF_TAG_FLASHPIX_VERSION,
                     EXIF_TAG_EXIF_IMAGE_WIDTH, EXIF_TAG_EXIF_IMAGE_LENGTH,
                     EXIF_TAG_RELATED_SOUND_FILE, EXIF_TAG_INTEROP_OFFSET,
                     EXIF_TAG_FLASH_ENERGY_EXIF_IFD,

Added: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/MicrosoftTagConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/MicrosoftTagConstants.java?rev=1302275&view=auto
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/MicrosoftTagConstants.java (added)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/MicrosoftTagConstants.java Mon Mar 19 05:45:50 2012
@@ -0,0 +1,24 @@
+package org.apache.commons.sanselan.formats.tiff.constants;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoShort;
+
+/**
+ * Largely undocumented and derived by experimentation.
+ */
+public interface MicrosoftTagConstants {
+    public static final TagInfoShort EXIF_TAG_RATING = new TagInfoShort("Rating", 0x4746,
+            1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
+    
+    public static final TagInfoShort EXIF_TAG_RATING_PERCENT = new TagInfoShort(
+            "Rating Percent", 0x4749, 1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
+
+    public static final List<TagInfo> ALL_MICROSOFT_TAGS =
+            Collections.unmodifiableList(Arrays.asList(new TagInfo[] {
+                    EXIF_TAG_RATING,
+                    EXIF_TAG_RATING_PERCENT }));
+}

Propchange: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/MicrosoftTagConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Rfc2301TagConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Rfc2301TagConstants.java?rev=1302275&r1=1302274&r2=1302275&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Rfc2301TagConstants.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Rfc2301TagConstants.java Mon Mar 19 05:45:50 2012
@@ -7,6 +7,7 @@ import java.util.List;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoByte;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoLong;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoRational;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoShort;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoShortOrLong;
 
@@ -22,18 +23,18 @@ import org.apache.commons.sanselan.forma
 public interface Rfc2301TagConstants extends TiffFieldTypeConstants {
     public static final TagInfoShortOrLong TIFF_TAG_BAD_FAX_LINES = new TagInfoShortOrLong(
             "Bad Fax Lines", 0x0146, 1,
-            TiffDirectoryType.TIFF_DIRECTORY_ROOT);
+            TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     public static final TagInfoShort TIFF_TAG_CLEAN_FAX_DATA = new TagInfoShort(
             "Clean Fax Data", 0x0147, 1,
-            TiffDirectoryType.TIFF_DIRECTORY_ROOT);
+            TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final int CLEAN_FAX_DATA_VALUE_CLEAN = 0;
     public static final int CLEAN_FAX_DATA_VALUE_REGENERATED = 1;
     public static final int CLEAN_FAX_DATA_VALUE_UNCLEAN = 2;
     
     public static final TagInfoShortOrLong TIFF_TAG_CONSECUTIVE_BAD_FAX_LINES = new TagInfoShortOrLong(
-            "Consecutive Bad Fax Lines", 0x0148,
-            1, TiffDirectoryType.TIFF_DIRECTORY_ROOT);
+            "Consecutive Bad Fax Lines", 0x0148, 1,
+            TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
     public static final TagInfoLong TIFF_TAG_GLOBAL_PARAMETERS_IFD = new TagInfoLong(
             "Global Parameters IFD", 0x0190, 1,
@@ -59,6 +60,12 @@ public interface Rfc2301TagConstants ext
     public static final TagInfoLong TIFF_TAG_CODING_METHODS = new TagInfoLong(
             "Coding Methods", 0x0193, 1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+    public static final int CODING_METHODS_VALUE_T4_1D = 2;
+    public static final int CODING_METHODS_VALUE_T4_2D = 4;
+    public static final int CODING_METHODS_VALUE_T6 = 8;
+    public static final int CODING_METHODS_VALUE_T82_T85 = 16;
+    public static final int CODING_METHODS_VALUE_T81 = 32;
+    public static final int CODING_METHODS_VALUE_T82_T43 = 64;
     
     public static final TagInfoByte TIFF_TAG_VERSION_YEAR = new TagInfoByte(
             "Version Year", 0x0194, 4,
@@ -68,6 +75,22 @@ public interface Rfc2301TagConstants ext
             "Mode Number", 0x0195, 1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
+    public static final TagInfoRational TIFF_TAG_DECODE = new TagInfoRational(
+            "Decode", 0x01b1, -1,
+            TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+    
+    public static final TagInfoShort TIFF_TAG_DEFAULT_IMAGE_COLOR = new TagInfoShort(
+            "Default Image Color", 0x01b2, -1,
+            TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+    public static final TagInfoLong TIFF_TAG_STRIP_ROW_COUNTS = new TagInfoLong(
+            "Strip Row Counts", 0x022f, -1,
+            TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+    public static final TagInfoShortOrLong TIFF_TAG_IMAGE_LAYER = new TagInfoShortOrLong(
+            "Image Layer", 0x87ac, 2,
+            TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
     public static final List<TagInfo> ALL_RFC_2301_TAGS =
             Collections.unmodifiableList(Arrays.asList(
                     TIFF_TAG_BAD_FAX_LINES,
@@ -78,5 +101,9 @@ public interface Rfc2301TagConstants ext
                     TIFF_TAG_FAX_PROFILE,
                     TIFF_TAG_CODING_METHODS,
                     TIFF_TAG_VERSION_YEAR,
-                    TIFF_TAG_MODE_NUMBER));
+                    TIFF_TAG_MODE_NUMBER,
+                    TIFF_TAG_DECODE,
+                    TIFF_TAG_DEFAULT_IMAGE_COLOR,
+                    TIFF_TAG_STRIP_ROW_COUNTS,
+                    TIFF_TAG_IMAGE_LAYER));
 }

Added: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/WangTagConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/WangTagConstants.java?rev=1302275&view=auto
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/WangTagConstants.java (added)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/WangTagConstants.java Mon Mar 19 05:45:50 2012
@@ -0,0 +1,22 @@
+package org.apache.commons.sanselan.formats.tiff.constants;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoByte;
+
+/**
+ * Wang/Eastman Software/Kodac/eiStream/Imaging for Windows tags,
+ * undocumented and in need of more work.
+ */
+public interface WangTagConstants {
+    public static final TagInfoByte EXIF_TAG_WANG_ANNOTATION = new TagInfoByte(
+            "Wang Annotation", 0x80a4, -1,
+            TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+    public static final List<TagInfo> ALL_WANG_TAGS =
+            Collections.unmodifiableList(Arrays.asList(new TagInfo[] {
+                    EXIF_TAG_WANG_ANNOTATION }));
+}

Propchange: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/WangTagConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java?rev=1302275&r1=1302274&r2=1302275&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java (original)
+++ commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java Mon Mar 19 05:45:50 2012
@@ -21,19 +21,27 @@ import java.util.List;
 
 import org.apache.commons.sanselan.SanselanTest;
 import org.apache.commons.sanselan.formats.tiff.constants.AdobePageMaker6TagConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.DcfTagConstants;
 import org.apache.commons.sanselan.formats.tiff.constants.ExifTagConstants;
 import org.apache.commons.sanselan.formats.tiff.constants.GpsTagConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.MicrosoftTagConstants;
 import org.apache.commons.sanselan.formats.tiff.constants.Rfc2301TagConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.Tiff4TagConstants;
 import org.apache.commons.sanselan.formats.tiff.constants.TiffTagConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.WangTagConstants;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
 
 public class TiffTagIntegrityTest extends SanselanTest {
     public void testTagIntegrity() {
-        verifyFields(TiffTagConstants.class, TiffTagConstants.ALL_TIFF_TAGS);
-        verifyFields(GpsTagConstants.class, GpsTagConstants.ALL_GPS_TAGS);
+        verifyFields(AdobePageMaker6TagConstants.class, AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAG_CONSTANTS);
+        verifyFields(DcfTagConstants.class, DcfTagConstants.ALL_DCF_TAGS);
         verifyFields(ExifTagConstants.class, ExifTagConstants.ALL_EXIF_TAGS);
+        verifyFields(GpsTagConstants.class, GpsTagConstants.ALL_GPS_TAGS);
+        verifyFields(MicrosoftTagConstants.class, MicrosoftTagConstants.ALL_MICROSOFT_TAGS);
         verifyFields(Rfc2301TagConstants.class, Rfc2301TagConstants.ALL_RFC_2301_TAGS);
-        verifyFields(AdobePageMaker6TagConstants.class, AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAG_CONSTANTS);
+        verifyFields(Tiff4TagConstants.class, Tiff4TagConstants.ALL_TIFF_4_TAGS);
+        verifyFields(TiffTagConstants.class, TiffTagConstants.ALL_TIFF_TAGS);
+        verifyFields(WangTagConstants.class, WangTagConstants.ALL_WANG_TAGS);
     }
     
     private void verifyFields(Class<?> cls, List<TagInfo> tags) {