You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sanselan-commits@incubator.apache.org by cm...@apache.org on 2007/12/29 06:48:53 UTC
svn commit: r607388 [4/8] - in /incubator/sanselan/trunk/src:
main/java/org/apache/sanselan/ main/java/org/apache/sanselan/common/
main/java/org/apache/sanselan/common/mylzw/
main/java/org/apache/sanselan/formats/bmp/
main/java/org/apache/sanselan/form...
Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/ExifTagConstants.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,222 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+public interface GPSTagConstants
+ extends
+ TiffDirectoryConstants,
+ TiffFieldTypeConstants
+{
+ public static final TagInfo2 GPS_TAG_GPS_VERSION_ID = new TagInfo2(
+ "GPS Version ID", 0x0000, FIELD_TYPE_DESCRIPTION_BYTE, 4,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_LATITUDE_REF = new TagInfo2(
+ "GPS Latitude Ref", 0x0001, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+ EXIF_DIRECTORY_GPS);
+
+ public static final String GPS_TAG_GPS_LATITUDE_REF_VALUE_NORTH = "N";
+ public static final String GPS_TAG_GPS_LATITUDE_REF_VALUE_SOUTH = "S";
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_LATITUDE = new TagInfo2(
+ "GPS Latitude", 0x0002, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_LONGITUDE_REF = new TagInfo2(
+ "GPS Longitude Ref", 0x0003, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+ EXIF_DIRECTORY_GPS);
+
+ public static final String GPS_TAG_GPS_LONGITUDE_REF_VALUE_EAST = "E";
+ public static final String GPS_TAG_GPS_LONGITUDE_REF_VALUE_WEST = "W";
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_LONGITUDE = new TagInfo2(
+ "GPS Longitude", 0x0004, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_ALTITUDE_REF = new TagInfo2(
+ "GPS Altitude Ref", 0x0005, FIELD_TYPE_DESCRIPTION_BYTE, -1,
+ EXIF_DIRECTORY_GPS);
+
+ public static final int GPS_TAG_GPS_ALTITUDE_REF_VALUE_ABOVE_SEA_LEVEL = 0;
+ public static final int GPS_TAG_GPS_ALTITUDE_REF_VALUE_BELOW_SEA_LEVEL = 1;
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_ALTITUDE = new TagInfo2(
+ "GPS Altitude", 0x0006, FIELD_TYPE_DESCRIPTION_RATIONAL, -1,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_TIME_STAMP = new TagInfo2(
+ "GPS Time Stamp", 0x0007, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_SATELLITES = new TagInfo2(
+ "GPS Satellites", 0x0008, FIELD_TYPE_DESCRIPTION_ASCII, -1,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_STATUS = new TagInfo2(
+ "GPS Status", 0x0009, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+ EXIF_DIRECTORY_GPS);
+
+ public static final String GPS_TAG_GPS_STATUS_VALUE_MEASUREMENT_IN_PROGRESS = "A";
+ public static final String GPS_TAG_GPS_STATUS_VALUE_MEASUREMENT_INTEROPERABILITY = "V";
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_MEASURE_MODE = new TagInfo2(
+ "GPS Measure Mode", 0x000a, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+ EXIF_DIRECTORY_GPS);
+
+ public static final int GPS_TAG_GPS_MEASURE_MODE_VALUE_2_DIMENSIONAL_MEASUREMENT = 2;
+ public static final int GPS_TAG_GPS_MEASURE_MODE_VALUE_3_DIMENSIONAL_MEASUREMENT = 3;
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_DOP = new TagInfo2("GPS DOP",
+ 0x000b, FIELD_TYPE_DESCRIPTION_RATIONAL, -1, EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_SPEED_REF = new TagInfo2(
+ "GPS Speed Ref", 0x000c, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+ EXIF_DIRECTORY_GPS);
+
+ public static final String GPS_TAG_GPS_SPEED_REF_VALUE_KMPH = "K";
+ public static final String GPS_TAG_GPS_SPEED_REF_VALUE_MPH = "M";
+ public static final String GPS_TAG_GPS_SPEED_REF_VALUE_KNOTS = "N";
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_SPEED = new TagInfo2("GPS Speed",
+ 0x000d, FIELD_TYPE_DESCRIPTION_RATIONAL, -1, EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_TRACK_REF = new TagInfo2(
+ "GPS Track Ref", 0x000e, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+ EXIF_DIRECTORY_GPS);
+
+ public static final String GPS_TAG_GPS_TRACK_REF_VALUE_MAGNETIC_NORTH = "M";
+ public static final String GPS_TAG_GPS_TRACK_REF_VALUE_TRUE_NORTH = "T";
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_TRACK = new TagInfo2("GPS Track",
+ 0x000f, FIELD_TYPE_DESCRIPTION_RATIONAL, -1, EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_IMG_DIRECTION_REF = new TagInfo2(
+ "GPS Img Direction Ref", 0x0010, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+ EXIF_DIRECTORY_GPS);
+
+ public static final String GPS_TAG_GPS_IMG_DIRECTION_REF_VALUE_MAGNETIC_NORTH = "M";
+ public static final String GPS_TAG_GPS_IMG_DIRECTION_REF_VALUE_TRUE_NORTH = "T";
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_IMG_DIRECTION = new TagInfo2(
+ "GPS Img Direction", 0x0011, FIELD_TYPE_DESCRIPTION_RATIONAL, -1,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_MAP_DATUM = new TagInfo2(
+ "GPS Map Datum", 0x0012, FIELD_TYPE_DESCRIPTION_ASCII, -1,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_DEST_LATITUDE_REF = new TagInfo2(
+ "GPS Dest Latitude Ref", 0x0013, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+ EXIF_DIRECTORY_GPS);
+
+ public static final String GPS_TAG_GPS_DEST_LATITUDE_REF_VALUE_NORTH = "N";
+ public static final String GPS_TAG_GPS_DEST_LATITUDE_REF_VALUE_SOUTH = "S";
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_DEST_LATITUDE = new TagInfo2(
+ "GPS Dest Latitude", 0x0014, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_DEST_LONGITUDE_REF = new TagInfo2(
+ "GPS Dest Longitude Ref", 0x0015, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+ EXIF_DIRECTORY_GPS);
+
+ public static final String GPS_TAG_GPS_DEST_LONGITUDE_REF_VALUE_EAST = "E";
+ public static final String GPS_TAG_GPS_DEST_LONGITUDE_REF_VALUE_WEST = "W";
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_DEST_LONGITUDE = new TagInfo2(
+ "GPS Dest Longitude", 0x0016, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_DEST_BEARING_REF = new TagInfo2(
+ "GPS Dest Bearing Ref", 0x0017, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+ EXIF_DIRECTORY_GPS);
+
+ public static final String GPS_TAG_GPS_DEST_BEARING_REF_VALUE_MAGNETIC_NORTH = "M";
+ public static final String GPS_TAG_GPS_DEST_BEARING_REF_VALUE_TRUE_NORTH = "T";
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_DEST_BEARING = new TagInfo2(
+ "GPS Dest Bearing", 0x0018, FIELD_TYPE_DESCRIPTION_RATIONAL, -1,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_DEST_DISTANCE_REF = new TagInfo2(
+ "GPS Dest Distance Ref", 0x0019, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+ EXIF_DIRECTORY_GPS);
+
+ public static final String GPS_TAG_GPS_DEST_DISTANCE_REF_VALUE_KILOMETERS = "K";
+ public static final String GPS_TAG_GPS_DEST_DISTANCE_REF_VALUE_MILES = "M";
+ public static final String GPS_TAG_GPS_DEST_DISTANCE_REF_VALUE_NAUTICAL_MILES = "N";
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_DEST_DISTANCE = new TagInfo2(
+ "GPS Dest Distance", 0x001a, FIELD_TYPE_DESCRIPTION_RATIONAL, -1,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_PROCESSING_METHOD = new TagInfo2(
+ "GPS Processing Method", 0x001b, FIELD_TYPE_DESCRIPTION_UNKNOWN,
+ -1, EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_AREA_INFORMATION = new TagInfo2(
+ "GPS Area Information", 0x001c, FIELD_TYPE_DESCRIPTION_UNKNOWN, -1,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_DATE_STAMP = new TagInfo2(
+ "GPS Date Stamp", 0x001d, FIELD_TYPE_DESCRIPTION_ASCII, 11,
+ EXIF_DIRECTORY_GPS);
+
+ // ************************************************************
+ public static final TagInfo2 GPS_TAG_GPS_DIFFERENTIAL = new TagInfo2(
+ "GPS Differential", 0x001e, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+ EXIF_DIRECTORY_GPS);
+
+ public static final int GPS_TAG_GPS_DIFFERENTIAL_VALUE_NO_CORRECTION = 0;
+ public static final int GPS_TAG_GPS_DIFFERENTIAL_VALUE_DIFFERENTIAL_CORRECTED = 1;
+ // ************************************************************
+
+ public static final TagInfo2 ALL_GPS_TAGS[] = {
+ GPS_TAG_GPS_VERSION_ID, GPS_TAG_GPS_LATITUDE_REF,
+ GPS_TAG_GPS_LATITUDE, GPS_TAG_GPS_LONGITUDE_REF,
+ GPS_TAG_GPS_LONGITUDE, GPS_TAG_GPS_ALTITUDE_REF,
+ GPS_TAG_GPS_ALTITUDE, GPS_TAG_GPS_TIME_STAMP,
+ GPS_TAG_GPS_SATELLITES, GPS_TAG_GPS_STATUS,
+ GPS_TAG_GPS_MEASURE_MODE, GPS_TAG_GPS_DOP, GPS_TAG_GPS_SPEED_REF,
+ GPS_TAG_GPS_SPEED, GPS_TAG_GPS_TRACK_REF, GPS_TAG_GPS_TRACK,
+ GPS_TAG_GPS_IMG_DIRECTION_REF, GPS_TAG_GPS_IMG_DIRECTION,
+ GPS_TAG_GPS_MAP_DATUM, GPS_TAG_GPS_DEST_LATITUDE_REF,
+ GPS_TAG_GPS_DEST_LATITUDE, GPS_TAG_GPS_DEST_LONGITUDE_REF,
+ GPS_TAG_GPS_DEST_LONGITUDE, GPS_TAG_GPS_DEST_BEARING_REF,
+ GPS_TAG_GPS_DEST_BEARING, GPS_TAG_GPS_DEST_DISTANCE_REF,
+ GPS_TAG_GPS_DEST_DISTANCE, GPS_TAG_GPS_PROCESSING_METHOD,
+ GPS_TAG_GPS_AREA_INFORMATION, GPS_TAG_GPS_DATE_STAMP,
+ GPS_TAG_GPS_DIFFERENTIAL,
+ };
+}
Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+public class TagConstantsUtils
+{
+
+ public static TagInfo2[] mergeTagLists(TagInfo2 lists[][])
+ {
+ int count = 0;
+ for (int i = 0; i < lists.length; i++)
+ count += lists[i].length;
+
+ TagInfo2 result[] = new TagInfo2[count];
+
+ int index = 0;
+ for (int i = 0; i < lists.length; i++)
+ {
+ System.arraycopy(lists[i], 0, result, index, lists[i].length);
+ index += lists[i].length;
+ }
+
+ return result;
+ }
+
+}
\ No newline at end of file
Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,146 @@
+/**
+ *
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.apache.sanselan.formats.tiff.TiffField;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
+import org.apache.sanselan.util.Debug;
+
+public class TagInfo2 implements TiffDirectoryConstants
+{
+ protected static final int LENGTH_UNKNOWN = -1;
+
+ public TagInfo2(String name, int tag, FieldType dataType, int length,
+ ExifDirectoryType exifDirectory)
+ {
+ this(name, tag, new FieldType[]{
+ dataType
+ }, length, exifDirectory);
+ }
+
+ public TagInfo2(String name, int tag, FieldType dataType, int length)
+ {
+ this(name, tag, new FieldType[]{
+ dataType
+ }, length, EXIF_DIRECTORY_UNKNOWN);
+ }
+
+ public TagInfo2(String name, int tag, FieldType dataType,
+ String lengthDescription)
+ {
+ this(name, tag, new FieldType[]{
+ dataType
+ }, LENGTH_UNKNOWN, EXIF_DIRECTORY_UNKNOWN);
+ }
+
+ public TagInfo2(String name, int tag, FieldType dataTypes[],
+ String lengthDescription)
+ {
+ this(name, tag, dataTypes, LENGTH_UNKNOWN, EXIF_DIRECTORY_UNKNOWN);
+ }
+
+ public TagInfo2(String name, int tag, FieldType dataType)
+ {
+ this(name, tag, dataType, LENGTH_UNKNOWN, EXIF_DIRECTORY_UNKNOWN);
+ }
+
+ public TagInfo2(String name, int tag, FieldType dataTypes[], int length,
+ String lengthDescription)
+ {
+ this(name, tag, dataTypes, length, EXIF_DIRECTORY_UNKNOWN);
+ }
+ public final String name;
+ public final int tag;
+ public final FieldType dataTypes[];
+ public final int length;
+ public final ExifDirectoryType exifDirectory;
+
+ // public final String lengthDescription;
+
+ public TagInfo2(String name, int tag, FieldType dataTypes[], int length,
+ ExifDirectoryType exifDirectory
+ // , String lengthDescription
+ )
+ {
+ this.name = name;
+ this.tag = tag;
+ this.dataTypes = dataTypes;
+ this.length = length;
+ // this.lengthDescription = lengthDescription;
+ this.exifDirectory = exifDirectory;
+ }
+
+ public Object getValue(TiffField entry)
+ {
+ Object o = entry.fieldType.getSimpleValue(entry);
+ return o;
+ }
+
+ public String toString()
+ {
+ return "[TagInfo. tag: " + tag + ", name: " + name + "]";
+ }
+
+ public boolean isDate()
+ {
+ return false;
+ }
+
+ public static class Date extends TagInfo2
+ {
+ public Date(String name, int tag, FieldType dataType, int length)
+ {
+ super(name, tag, dataType, length);
+ }
+
+ private static final DateFormat DATE_FORMAT_1 = new SimpleDateFormat(
+ "yyyy:MM:dd HH:mm:ss");
+ private static final DateFormat DATE_FORMAT_2 = new SimpleDateFormat(
+ "yyyy:MM:dd:HH:mm:ss");
+
+ public Object getValue(TiffField entry)
+ {
+ Object o = entry.fieldType.getSimpleValue(entry);
+
+ String s = (String) o;
+ try
+ {
+ java.util.Date date = DATE_FORMAT_1.parse(s);
+ return date;
+ }
+ catch (Exception e)
+ {
+ // Debug.debug(e);
+ }
+ try
+ {
+ java.util.Date date = DATE_FORMAT_2.parse(s);
+ return date;
+ }
+ catch (Exception e)
+ {
+ Debug.debug(e);
+ }
+
+ return o;
+ }
+
+ public String toString()
+ {
+ return "[TagInfo. tag: " + tag + ", name: " + name + " (data)"
+ + "]";
+ }
+
+ // TODO: use polymorphism
+ public boolean isDate()
+ {
+ return true;
+ }
+
+ }
+}
\ No newline at end of file
Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2Date.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2Date.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2Date.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2Date.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,58 @@
+///**
+// *
+// */
+//package org.apache.sanselan.formats.tiff.constants;
+//
+//import java.text.DateFormat;
+//import java.text.SimpleDateFormat;
+//import java.util.Date;
+//
+//import org.apache.sanselan.formats.tiff.TiffField;
+//import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
+//import org.apache.sanselan.util.Debug;
+//
+//public class TagInfo2Date extends TagInfo2
+//{
+// public TagInfo2Date(String name, int tag, FieldType dataType, int length)
+// {
+// super(name, tag, dataType, length);
+// }
+//
+// private static final DateFormat DATE_FORMAT_1 = new SimpleDateFormat(
+// "yyyy:MM:dd HH:mm:ss");
+// private static final DateFormat DATE_FORMAT_2 = new SimpleDateFormat(
+// "yyyy:MM:dd:HH:mm:ss");
+//
+// public Object getValue(TiffField entry)
+// {
+// Object o = entry.fieldType.getSimpleValue(entry);
+//
+// String s = (String) o;
+// try
+// {
+// Date date = DATE_FORMAT_1.parse(s);
+// return date;
+// }
+// catch (Exception e)
+// {
+// // Debug.debug(e);
+// }
+// try
+// {
+// Date date = DATE_FORMAT_2.parse(s);
+// return date;
+// }
+// catch (Exception e)
+// {
+// Debug.debug(e);
+// }
+//
+// return o;
+// }
+//
+// public String toString()
+// {
+// return "[TagInfo. tag: " + tag + ", name: " + name + " (data)"
+// + "]";
+// }
+//}
\ No newline at end of file
Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2Date.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+import org.apache.sanselan.SanselanConstants;
+
+public interface TiffConstants
+ extends
+ SanselanConstants,
+ TiffFieldTypeConstants,
+ TiffDirectoryConstants,
+ AllTagConstants
+{
+
+ public static final int TIFF_HEADER_SIZE = 8;
+ public static final int TIFF_DIRECTORY_HEADER_LENGTH = 4;
+ public static final int TIFF_DIRECTORY_FOOTER_LENGTH = 2;
+ public static final int TIFF_ENTRY_LENGTH = 12;
+ public static final int TIFF_ENTRY_MAX_VALUE_LENGTH = 4;
+
+ public static final int TIFF_COMPRESSION_UNCOMPRESSED_1 = 1;
+ public static final int TIFF_COMPRESSION_UNCOMPRESSED = TIFF_COMPRESSION_UNCOMPRESSED_1;
+ public static final int TIFF_COMPRESSION_CCITT_1D = 2;
+ public static final int TIFF_COMPRESSION_CCITT_GROUP_3 = 3;
+ public static final int TIFF_COMPRESSION_CCITT_GROUP_4 = 4;
+ public static final int TIFF_COMPRESSION_LZW = 5;
+ public static final int TIFF_COMPRESSION_JPEG = 6;
+ public static final int TIFF_COMPRESSION_UNCOMPRESSED_2 = 32771;
+ public static final int TIFF_COMPRESSION_PACKBITS = 32773;
+
+}
\ No newline at end of file
Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+public interface TiffDirectoryConstants
+{
+
+ public static final int DIRECTORY_TYPE_UNKNOWN = -1;
+ public static final int DIRECTORY_TYPE_ROOT = 0;
+ public static final int DIRECTORY_TYPE_SUB = 1;
+ public static final int DIRECTORY_TYPE_SUB1 = 2;
+ public static final int DIRECTORY_TYPE_SUB2 = 3;
+ public static final int DIRECTORY_TYPE_THUMBNAIL = 2;
+ public static final int DIRECTORY_TYPE_EXIF = -2;
+ // public static final int DIRECTORY_TYPE_SUB = 5;
+ public static final int DIRECTORY_TYPE_GPS = -3;
+ public static final int DIRECTORY_TYPE_INTEROPERABILITY = -4;
+ public static final int DIRECTORY_TYPE_MAKER_NOTES = -5;
+ public static final int DIRECTORY_TYPE_DIR_0 = 0;
+ public static final int DIRECTORY_TYPE_DIR_1 = 1;
+ public static final int DIRECTORY_TYPE_DIR_2 = 2;
+ public static final int DIRECTORY_TYPE_DIR_3 = 3;
+ public static final int DIRECTORY_TYPE_DIR_4 = 4;
+
+ public static class ExifDirectoryType
+ {
+ public final int directoryType;
+ public final String name;
+
+ public ExifDirectoryType(final int directoryType, final String name)
+ {
+ this.directoryType = directoryType;
+ this.name = name;
+ }
+ }
+
+ public static final ExifDirectoryType TIFF_DIRECTORY_ROOT = new ExifDirectoryType(
+ DIRECTORY_TYPE_ROOT, "Root");
+ public static final ExifDirectoryType EXIF_DIRECTORY_EXIF_IFD = new ExifDirectoryType(
+ DIRECTORY_TYPE_EXIF, "Exif IFD");
+ public static final ExifDirectoryType TIFF_DIRECTORY_IFD0 = new ExifDirectoryType(
+ DIRECTORY_TYPE_DIR_0, "IFD0");
+ public static final ExifDirectoryType EXIF_DIRECTORY_IFD0 = new ExifDirectoryType(
+ DIRECTORY_TYPE_DIR_0, "IFD0");
+ public static final ExifDirectoryType TIFF_DIRECTORY_IFD1 = new ExifDirectoryType(
+ DIRECTORY_TYPE_DIR_1, "IFD1");
+ public static final ExifDirectoryType EXIF_DIRECTORY_IFD1 = new ExifDirectoryType(
+ DIRECTORY_TYPE_DIR_1, "IFD1");
+ public static final ExifDirectoryType TIFF_DIRECTORY_IFD2 = new ExifDirectoryType(
+ DIRECTORY_TYPE_DIR_2, "IFD2");
+ public static final ExifDirectoryType EXIF_DIRECTORY_IFD2 = new ExifDirectoryType(
+ DIRECTORY_TYPE_DIR_2, "IFD2");
+ public static final ExifDirectoryType EXIF_DIRECTORY_INTEROP_IFD = new ExifDirectoryType(
+ DIRECTORY_TYPE_INTEROPERABILITY, "Interop IFD");
+ public static final ExifDirectoryType EXIF_DIRECTORY_MAKER_NOTES = new ExifDirectoryType(
+ DIRECTORY_TYPE_MAKER_NOTES, "Maker Notes");
+ public static final ExifDirectoryType EXIF_DIRECTORY_SUB_IFD = new ExifDirectoryType(
+ DIRECTORY_TYPE_SUB, "Sub IFD");
+ public static final ExifDirectoryType EXIF_DIRECTORY_SUB_IFD1 = new ExifDirectoryType(
+ DIRECTORY_TYPE_SUB1, "Sub IFD1");
+ public static final ExifDirectoryType EXIF_DIRECTORY_SUB_IFD2 = new ExifDirectoryType(
+ DIRECTORY_TYPE_SUB2, "Sub IFD2");
+ public static final ExifDirectoryType EXIF_DIRECTORY_UNKNOWN = null;
+ public static final ExifDirectoryType EXIF_DIRECTORY_GPS = new ExifDirectoryType(
+ DIRECTORY_TYPE_GPS, "GPS IFD");
+
+}
\ No newline at end of file
Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+import org.apache.sanselan.SanselanConstants;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeASCII;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeByte;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeDouble;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeFloat;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeLong;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeRational;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeShort;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeUnknown;
+
+public interface TiffFieldTypeConstants extends SanselanConstants
+{
+
+ // public static final FieldTypeByte FIELD_TYPE_BYTE = new FieldTypeByte(1,
+ // "Byte");
+ //
+ // public static final FieldTypeASCII FIELD_TYPE_ASCII = new FieldTypeASCII(2,
+ // "ASCII");
+ //
+ // public static final FieldTypeShort FIELD_TYPE_SHORT = new FieldTypeShort(3,
+ // "Short");
+ //
+ // public static final FieldTypeLong FIELD_TYPE_LONG = new FieldTypeLong(4,
+ // "Long");
+ //
+ // public static final FieldTypeRational FIELD_TYPE_RATIONAL = new FieldTypeRational(
+ // 5, "Rational");
+ //
+ // public static final FieldType FIELD_TYPE_SBYTE = new FieldTypeByte(6,
+ // "SByte");
+ // public static final FieldType FIELD_TYPE_UNDEFINED = new FieldTypeByte(7,
+ // "Undefined");
+ // public static final FieldType FIELD_TYPE_SSHORT = new FieldTypeShort(8,
+ // "SShort");
+ //
+ // public static final FieldType FIELD_TYPE_SLONG = new FieldTypeLong(9,
+ // "SLong");
+ //
+ // public static final FieldType FIELD_TYPE_SRATIONAL = new FieldTypeRational(
+ // 10, "SRational");
+ //
+ // public static final FieldType FIELD_TYPE_FLOAT = new FieldTypeFloat();
+ //
+ // public static final FieldType FIELD_TYPE_DOUBLE = new FieldTypeDouble();
+ //
+ // public static final FieldType FIELD_TYPE_UNKNOWN = new FieldTypeUnknown();
+ //
+ // public static final FieldType FIELD_TYPES[] = {
+ // FIELD_TYPE_BYTE, FIELD_TYPE_ASCII, FIELD_TYPE_SHORT,
+ // FIELD_TYPE_LONG, FIELD_TYPE_RATIONAL, FIELD_TYPE_SBYTE,
+ // FIELD_TYPE_UNDEFINED, FIELD_TYPE_SSHORT, FIELD_TYPE_SLONG,
+ // FIELD_TYPE_SRATIONAL, FIELD_TYPE_FLOAT, FIELD_TYPE_DOUBLE,
+ // };
+
+ public static final FieldTypeByte FIELD_TYPE_BYTE = new FieldTypeByte(1,
+ "Byte");
+
+ public static final FieldTypeASCII FIELD_TYPE_ASCII = new FieldTypeASCII(2,
+ "ASCII");
+
+ public static final FieldTypeShort FIELD_TYPE_SHORT = new FieldTypeShort(3,
+ "Short");
+
+ public static final FieldTypeLong FIELD_TYPE_LONG = new FieldTypeLong(4,
+ "Long");
+
+ public static final FieldTypeRational FIELD_TYPE_RATIONAL = new FieldTypeRational(
+ 5, "Rational");
+
+ public static final FieldType FIELD_TYPE_SBYTE = new FieldTypeByte(6,
+ "SByte");
+ public static final FieldType FIELD_TYPE_UNDEFINED = new FieldTypeByte(7,
+ "Undefined");
+ public static final FieldType FIELD_TYPE_SSHORT = new FieldTypeShort(8,
+ "SShort");
+
+ public static final FieldType FIELD_TYPE_SLONG = new FieldTypeLong(9,
+ "SLong");
+
+ public static final FieldType FIELD_TYPE_SRATIONAL = new FieldTypeRational(
+ 10, "SRational");
+
+ public static final FieldType FIELD_TYPE_FLOAT = new FieldTypeFloat();
+
+ public static final FieldType FIELD_TYPE_DOUBLE = new FieldTypeDouble();
+
+ public static final FieldType FIELD_TYPE_UNKNOWN = new FieldTypeUnknown();
+
+ public static final FieldType FIELD_TYPES[] = {
+ FIELD_TYPE_BYTE, FIELD_TYPE_ASCII, FIELD_TYPE_SHORT,
+ FIELD_TYPE_LONG, FIELD_TYPE_RATIONAL, FIELD_TYPE_SBYTE,
+ FIELD_TYPE_UNDEFINED, FIELD_TYPE_SSHORT, FIELD_TYPE_SLONG,
+ FIELD_TYPE_SRATIONAL, FIELD_TYPE_FLOAT, FIELD_TYPE_DOUBLE,
+ };
+
+ public static final FieldType FIELD_TYPE_ANY[] = FIELD_TYPES;
+
+ public static final FieldType FIELD_TYPE_DESCRIPTION_LONG[] = {
+ FIELD_TYPE_LONG,
+ };
+ public static final FieldType FIELD_TYPE_DESCRIPTION_SHORT[] = {
+ FIELD_TYPE_SHORT,
+ };
+ public static final FieldType FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG[] = {
+ FIELD_TYPE_SHORT, FIELD_TYPE_LONG,
+ };
+ public static final FieldType FIELD_TYPE_DESCRIPTION_ASCII[] = {
+ FIELD_TYPE_ASCII,
+ };
+ public static final FieldType FIELD_TYPE_DESCRIPTION_LONG_OR_SHORT[] = {
+ FIELD_TYPE_SHORT, FIELD_TYPE_LONG,
+ };
+ public static final FieldType FIELD_TYPE_DESCRIPTION_RATIONAL[] = {
+ FIELD_TYPE_RATIONAL,
+ };
+ public static final FieldType FIELD_TYPE_DESCRIPTION_BYTE_OR_SHORT[] = {
+ FIELD_TYPE_SHORT, FIELD_TYPE_BYTE
+ };
+ public static final FieldType FIELD_TYPE_DESCRIPTION_BYTE[] = {
+ FIELD_TYPE_BYTE,
+ };
+ public static final FieldType FIELD_TYPE_DESCRIPTION_ANY[] = FIELD_TYPE_ANY;
+ public static final FieldType FIELD_TYPE_DESCRIPTION_UNKNOWN[] = null;
+
+}
\ No newline at end of file
Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,349 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+public interface TiffTagConstants
+ extends
+ TiffDirectoryConstants,
+ TiffFieldTypeConstants
+{
+
+ public static final TagInfo2 TIFF_TAG_NEW_SUBFILE_TYPE = new TagInfo2(
+ "New Subfile Type", 0xFE, FIELD_TYPE_DESCRIPTION_LONG, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_SUBFILE_TYPE = new TagInfo2(
+ "Subfile Type", 0xFF, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_IMAGE_WIDTH = new TagInfo2(
+ "Image Width", 0x100, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_IMAGE_LENGTH = new TagInfo2(
+ "Image Length", 0x101, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_BITS_PER_SAMPLE = new TagInfo2(
+ "Bits Per Sample", 0x102, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_COMPRESSION = new TagInfo2(
+ "Compression", 0x103, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_PHOTOMETRIC_INTERPRETATION = new TagInfo2(
+ "Photometric Interpretation", 0x106, FIELD_TYPE_DESCRIPTION_SHORT,
+ 1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_THRESHHOLDING = new TagInfo2(
+ "Threshholding", 0x107, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_CELL_WIDTH = new TagInfo2(
+ "Cell Width", 0x108, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_CELL_LENGTH = new TagInfo2(
+ "Cell Length", 0x109, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_FILL_ORDER = new TagInfo2(
+ "Fill Order", 0x10A, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_DOCUMENT_NAME = new TagInfo2(
+ "Document Name", 0x10D, FIELD_TYPE_DESCRIPTION_ASCII, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_IMAGE_DESCRIPTION = new TagInfo2(
+ "Image Description", 0x10E, FIELD_TYPE_DESCRIPTION_ASCII, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_MAKE = new TagInfo2("Make", 0x10F,
+ FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_MODEL = new TagInfo2("Model", 0x110,
+ FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_STRIP_OFFSETS = new TagInfo2(
+ "Strip Offsets", 0x111, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_ORIENTATION = new TagInfo2(
+ "Orientation", 0x112, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_SAMPLES_PER_PIXEL = new TagInfo2(
+ "Samples Per Pixel", 0x115, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_ROWS_PER_STRIP = new TagInfo2(
+ "Rows Per Strip", 0x116, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_STRIP_BYTE_COUNTS = new TagInfo2(
+ "Strip Byte Counts", 0x117, FIELD_TYPE_DESCRIPTION_LONG_OR_SHORT,
+ -1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_MIN_SAMPLE_VALUE = new TagInfo2(
+ "Min Sample Value", 0x118, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_MAX_SAMPLE_VALUE = new TagInfo2(
+ "Max Sample Value", 0x119, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_XRESOLUTION = new TagInfo2(
+ "XResolution", 0x11A, FIELD_TYPE_DESCRIPTION_RATIONAL, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_YRESOLUTION = new TagInfo2(
+ "YResolution", 0x11B, FIELD_TYPE_DESCRIPTION_RATIONAL, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_PLANAR_CONFIGURATION = new TagInfo2(
+ "Planar Configuration", 0x11C, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_PAGE_NAME = new TagInfo2("Page Name",
+ 0x11D, FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_XPOSITION = new TagInfo2("XPosition",
+ 0x11E, FIELD_TYPE_DESCRIPTION_RATIONAL, -1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_YPOSITION = new TagInfo2("YPosition",
+ 0x11F, FIELD_TYPE_DESCRIPTION_RATIONAL, -1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_FREE_OFFSETS = new TagInfo2(
+ "Free Offsets", 0x120, FIELD_TYPE_DESCRIPTION_LONG, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_FREE_BYTE_COUNTS = new TagInfo2(
+ "Free Byte Counts", 0x121, FIELD_TYPE_DESCRIPTION_LONG, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_GRAY_RESPONSE_UNIT = new TagInfo2(
+ "Gray Response Unit", 0x122, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_GRAY_RESPONSE_CURVE = new TagInfo2(
+ "Gray Response Curve", 0x123, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_T4_OPTIONS = new TagInfo2(
+ "T4 Options", 0x124, FIELD_TYPE_DESCRIPTION_LONG, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_T6_OPTIONS = new TagInfo2(
+ "T6 Options", 0x125, FIELD_TYPE_DESCRIPTION_LONG, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_RESOLUTION_UNIT = new TagInfo2(
+ "Resolution Unit", 0x128, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_PAGE_NUMBER = new TagInfo2(
+ "Page Number", 0x129, FIELD_TYPE_DESCRIPTION_SHORT, 2,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_TRANSFER_FUNCTION = new TagInfo2(
+ "Transfer Function", 0x12D, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_SOFTWARE = new TagInfo2("Software",
+ 0x131, FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_DATE_TIME = new TagInfo2("Date Time",
+ 0x132, FIELD_TYPE_DESCRIPTION_ASCII, 20, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_ARTIST = new TagInfo2("Artist",
+ 0x13B, FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_HOST_COMPUTER = new TagInfo2(
+ "Host Computer", 0x13C, FIELD_TYPE_DESCRIPTION_ASCII, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_PREDICTOR = new TagInfo2("Predictor",
+ 0x13D, FIELD_TYPE_DESCRIPTION_SHORT, 1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_WHITE_POINT = new TagInfo2(
+ "White Point", 0x13E, FIELD_TYPE_DESCRIPTION_RATIONAL, 2,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_PRIMARY_CHROMATICITIES = new TagInfo2(
+ "Primary Chromaticities", 0x13F, FIELD_TYPE_DESCRIPTION_RATIONAL,
+ 6, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_COLOR_MAP = new TagInfo2("Color Map",
+ 0x140, FIELD_TYPE_DESCRIPTION_SHORT, -1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_HALFTONE_HINTS = new TagInfo2(
+ "Halftone Hints", 0x141, FIELD_TYPE_DESCRIPTION_SHORT, 2,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_TILE_WIDTH = new TagInfo2(
+ "Tile Width", 0x142, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_TILE_LENGTH = new TagInfo2(
+ "Tile Length", 0x143, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_TILE_OFFSETS = new TagInfo2(
+ "Tile Offsets", 0x144, FIELD_TYPE_DESCRIPTION_LONG, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_TILE_BYTE_COUNTS = new TagInfo2(
+ "Tile Byte Counts", 0x145, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG,
+ -1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_INK_SET = new TagInfo2("Ink Set",
+ 0x14C, FIELD_TYPE_DESCRIPTION_SHORT, 1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_INK_NAMES = new TagInfo2("Ink Names",
+ 0x14D, FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_NUMBER_OF_INKS = new TagInfo2(
+ "Number Of Inks", 0x14E, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_DOT_RANGE = new TagInfo2("Dot Range",
+ 0x150, FIELD_TYPE_DESCRIPTION_BYTE_OR_SHORT, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_TARGET_PRINTER = new TagInfo2(
+ "Target Printer", 0x151, FIELD_TYPE_DESCRIPTION_ASCII, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_EXTRA_SAMPLES = new TagInfo2(
+ "Extra Samples", 0x152, FIELD_TYPE_DESCRIPTION_BYTE, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_SAMPLE_FORMAT = new TagInfo2(
+ "Sample Format", 0x153, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_SMIN_SAMPLE_VALUE = new TagInfo2(
+ "SMin Sample Value", 0x154, FIELD_TYPE_DESCRIPTION_ANY, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_SMAX_SAMPLE_VALUE = new TagInfo2(
+ "SMax Sample Value", 0x155, FIELD_TYPE_DESCRIPTION_ANY, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_TRANSFER_RANGE = new TagInfo2(
+ "Transfer Range", 0x156, FIELD_TYPE_DESCRIPTION_SHORT, 6,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_JPEG_PROC = new TagInfo2("JPEGProc",
+ 0x200, FIELD_TYPE_DESCRIPTION_SHORT, 1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_JPEG_INTERCHANGE_FORMAT = new TagInfo2(
+ "JPEGInterchange Format", 0x201, FIELD_TYPE_DESCRIPTION_LONG, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_JPEG_INTERCHANGE_FORMAT_LENGTH = new TagInfo2(
+ "JPEGInterchange Format Length", 0x202,
+ FIELD_TYPE_DESCRIPTION_LONG, 1, TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_JPEG_RESTART_INTERVAL = new TagInfo2(
+ "JPEGRestart Interval", 0x203, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_JPEG_LOSSLESS_PREDICTORS = new TagInfo2(
+ "JPEGLossless Predictors", 0x205, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_JPEG_POINT_TRANSFORMS = new TagInfo2(
+ "JPEGPoint Transforms", 0x206, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_JPEG_QTABLES = new TagInfo2(
+ "JPEGQTables", 0x207, FIELD_TYPE_DESCRIPTION_LONG, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_JPEG_DCTABLES = new TagInfo2(
+ "JPEGDCTables", 0x208, FIELD_TYPE_DESCRIPTION_LONG, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_JPEG_ACTABLES = new TagInfo2(
+ "JPEGACTables", 0x209, FIELD_TYPE_DESCRIPTION_LONG, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_YCBCR_COEFFICIENTS = new TagInfo2(
+ "YCbCr Coefficients", 0x211, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_YCBCR_SUB_SAMPLING = new TagInfo2(
+ "YCbCr Sub Sampling", 0x212, FIELD_TYPE_DESCRIPTION_SHORT, 2,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_YCBCR_POSITIONING = new TagInfo2(
+ "YCbCr Positioning", 0x213, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_REFERENCE_BLACK_WHITE = new TagInfo2(
+ "Reference Black White", 0x214, FIELD_TYPE_DESCRIPTION_LONG, -1,
+ TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfo2 TIFF_TAG_COPYRIGHT = new TagInfo2("Copyright",
+ 0x8298, FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+ // TODO:
+ // public static final TagInfo2 TIFF_TAG_UNKNOWN = null;
+ public static final TagInfo2 TIFF_TAG_UNKNOWN = new TagInfo2("Unknown Tag",
+ -1, FIELD_TYPE_DESCRIPTION_UNKNOWN, TagInfo2.LENGTH_UNKNOWN,
+ EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfo2 ALL_TIFF_TAGS[] = {
+ TIFF_TAG_NEW_SUBFILE_TYPE, TIFF_TAG_SUBFILE_TYPE,
+ TIFF_TAG_IMAGE_WIDTH, TIFF_TAG_IMAGE_LENGTH,
+ TIFF_TAG_BITS_PER_SAMPLE, TIFF_TAG_COMPRESSION,
+ TIFF_TAG_PHOTOMETRIC_INTERPRETATION, TIFF_TAG_THRESHHOLDING,
+ TIFF_TAG_CELL_WIDTH, TIFF_TAG_CELL_LENGTH, TIFF_TAG_FILL_ORDER,
+ TIFF_TAG_DOCUMENT_NAME, TIFF_TAG_IMAGE_DESCRIPTION, TIFF_TAG_MAKE,
+ TIFF_TAG_MODEL, TIFF_TAG_STRIP_OFFSETS, TIFF_TAG_ORIENTATION,
+ TIFF_TAG_SAMPLES_PER_PIXEL, TIFF_TAG_ROWS_PER_STRIP,
+ TIFF_TAG_STRIP_BYTE_COUNTS, TIFF_TAG_MIN_SAMPLE_VALUE,
+ TIFF_TAG_MAX_SAMPLE_VALUE, TIFF_TAG_XRESOLUTION,
+ TIFF_TAG_YRESOLUTION, TIFF_TAG_PLANAR_CONFIGURATION,
+ TIFF_TAG_PAGE_NAME, TIFF_TAG_XPOSITION, TIFF_TAG_YPOSITION,
+ TIFF_TAG_FREE_OFFSETS, TIFF_TAG_FREE_BYTE_COUNTS,
+ TIFF_TAG_GRAY_RESPONSE_UNIT, TIFF_TAG_GRAY_RESPONSE_CURVE,
+ TIFF_TAG_T4_OPTIONS, TIFF_TAG_T6_OPTIONS, TIFF_TAG_RESOLUTION_UNIT,
+ TIFF_TAG_PAGE_NUMBER, TIFF_TAG_TRANSFER_FUNCTION,
+ TIFF_TAG_SOFTWARE, TIFF_TAG_DATE_TIME, TIFF_TAG_ARTIST,
+ TIFF_TAG_HOST_COMPUTER, TIFF_TAG_PREDICTOR, TIFF_TAG_WHITE_POINT,
+ TIFF_TAG_PRIMARY_CHROMATICITIES, TIFF_TAG_COLOR_MAP,
+ TIFF_TAG_HALFTONE_HINTS, TIFF_TAG_TILE_WIDTH, TIFF_TAG_TILE_LENGTH,
+ TIFF_TAG_TILE_OFFSETS, TIFF_TAG_TILE_BYTE_COUNTS, TIFF_TAG_INK_SET,
+ TIFF_TAG_INK_NAMES, TIFF_TAG_NUMBER_OF_INKS, TIFF_TAG_DOT_RANGE,
+ TIFF_TAG_TARGET_PRINTER, TIFF_TAG_EXTRA_SAMPLES,
+ TIFF_TAG_SAMPLE_FORMAT, TIFF_TAG_SMIN_SAMPLE_VALUE,
+ TIFF_TAG_SMAX_SAMPLE_VALUE, TIFF_TAG_TRANSFER_RANGE,
+ TIFF_TAG_JPEG_PROC, TIFF_TAG_JPEG_INTERCHANGE_FORMAT,
+ TIFF_TAG_JPEG_INTERCHANGE_FORMAT_LENGTH,
+ TIFF_TAG_JPEG_RESTART_INTERVAL, TIFF_TAG_JPEG_LOSSLESS_PREDICTORS,
+ TIFF_TAG_JPEG_POINT_TRANSFORMS, TIFF_TAG_JPEG_QTABLES,
+ TIFF_TAG_JPEG_DCTABLES, TIFF_TAG_JPEG_ACTABLES,
+ TIFF_TAG_YCBCR_COEFFICIENTS, TIFF_TAG_YCBCR_SUB_SAMPLING,
+ TIFF_TAG_YCBCR_POSITIONING, TIFF_TAG_REFERENCE_BLACK_WHITE,
+ TIFF_TAG_COPYRIGHT
+ };
+
+}
\ No newline at end of file
Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReader.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReader.java?rev=607388&r1=607387&r2=607388&view=diff
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReader.java (original)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReader.java Fri Dec 28 22:48:44 2007
@@ -27,7 +27,7 @@
import org.apache.sanselan.common.PackBits;
import org.apache.sanselan.common.byteSources.ByteSource;
import org.apache.sanselan.common.mylzw.MyLZWDecompressor;
-import org.apache.sanselan.formats.tiff.TiffConstants;
+import org.apache.sanselan.formats.tiff.constants.TiffConstants;
import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreter;
public abstract class DataReader implements TiffConstants, BinaryConstants
Modified: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst.java?rev=607388&r1=607387&r2=607388&view=diff
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst.java (original)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst.java Fri Dec 28 22:48:44 2007
@@ -1,233 +1,70 @@
-package org.apache.sanselan.formats.tiff.debug;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeASCII;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeByte;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeDouble;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeFloat;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeLong;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeRational;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeShort;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeUnknown;
-import org.apache.sanselan.util.Debug;
-
-public class TiffConst
-{
- public static class ExifDirectory
- {
- public final String name;
-
- public ExifDirectory(final String name)
- {
- this.name = name;
- }
- }
-
- public static final int TIFF_COMPRESSION_UNCOMPRESSED_1 = 1;
- public static final int TIFF_COMPRESSION_UNCOMPRESSED = TIFF_COMPRESSION_UNCOMPRESSED_1;
- public static final int TIFF_COMPRESSION_CCITT_1D = 2;
- public static final int TIFF_COMPRESSION_CCITT_GROUP_3 = 3;
- public static final int TIFF_COMPRESSION_CCITT_GROUP_4 = 4;
- public static final int TIFF_COMPRESSION_LZW = 5;
- public static final int TIFF_COMPRESSION_JPEG = 6;
- public static final int TIFF_COMPRESSION_UNCOMPRESSED_2 = 32771;
- public static final int TIFF_COMPRESSION_PACKBITS = 32773;
-
- public static final int PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO = 0;
- public static final int PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO = 1;
- public static final int PHOTOMETRIC_INTERPRETATION_RGB = 2;
- public static final int PHOTOMETRIC_INTERPRETATION_RGB_PALETTE = 3;
- public static final int PHOTOMETRIC_INTERPRETATION_TRANSPARENCY_MASK = 4;
- public static final int PHOTOMETRIC_INTERPRETATION_CMYK = 5;
- public static final int PHOTOMETRIC_INTERPRETATION_YCBCR = 6;
- public static final int PHOTOMETRIC_INTERPRETATION_CIELAB = 8;
-
- public static final FieldTypeByte FIELD_TYPE_BYTE = new FieldTypeByte(1,
- "Byte");
-
- public static final FieldTypeASCII FIELD_TYPE_ASCII = new FieldTypeASCII(2,
- "ASCII");
-
- public static final FieldTypeShort FIELD_TYPE_SHORT = new FieldTypeShort(3,
- "Short");
-
- public static final FieldTypeLong FIELD_TYPE_LONG = new FieldTypeLong(4,
- "Long");
-
- public static final FieldTypeRational FIELD_TYPE_RATIONAL = new FieldTypeRational(
- 5, "Rational");
-
- public static final FieldType FIELD_TYPE_SBYTE = new FieldTypeByte(6,
- "SByte");
- public static final FieldType FIELD_TYPE_UNDEFINED = new FieldTypeByte(7,
- "Undefined");
- public static final FieldType FIELD_TYPE_SSHORT = new FieldTypeShort(8,
- "SShort");
-
- public static final FieldType FIELD_TYPE_SLONG = new FieldTypeLong(9,
- "SLong");
-
- public static final FieldType FIELD_TYPE_SRATIONAL = new FieldTypeRational(
- 10, "SRational");
-
- public static final FieldType FIELD_TYPE_FLOAT = new FieldTypeFloat();
-
- public static final FieldType FIELD_TYPE_DOUBLE = new FieldTypeDouble();
-
- public static final FieldType FIELD_TYPE_UNKNOWN = new FieldTypeUnknown();
-
- public static final FieldType FIELD_TYPES[] = {
- FIELD_TYPE_BYTE, FIELD_TYPE_ASCII, FIELD_TYPE_SHORT,
- FIELD_TYPE_LONG, FIELD_TYPE_RATIONAL, FIELD_TYPE_SBYTE,
- FIELD_TYPE_UNDEFINED, FIELD_TYPE_SSHORT, FIELD_TYPE_SLONG,
- FIELD_TYPE_SRATIONAL, FIELD_TYPE_FLOAT, FIELD_TYPE_DOUBLE,
- };
-
- public static final FieldType FIELD_TYPE_ANY[] = FIELD_TYPES;
-
- public static class TagInfo2
- {
- protected static final int LENGTH_UNKNOWN = -1;
-
- public TagInfo2(String name, int tag, FieldType dataType, int length,
- ExifDirectory exifDirectory)
- {
- this(name, tag, dataType, length);
- }
-
- public TagInfo2(String name, int tag, FieldType dataType, int length)
- {
- this(name, tag, new FieldType[]{
- dataType
- }, length, null);
- }
-
- public TagInfo2(String name, int tag, FieldType dataType,
- String lengthDescription)
- {
- this(name, tag, new FieldType[]{
- dataType
- }, LENGTH_UNKNOWN, lengthDescription);
- }
-
- public TagInfo2(String name, int tag, FieldType dataTypes[], int length)
- {
- this(name, tag, dataTypes, length, null);
- }
-
- public TagInfo2(String name, int tag, FieldType dataTypes[],
- String lengthDescription)
- {
- this(name, tag, dataTypes, LENGTH_UNKNOWN, lengthDescription);
- }
-
- public TagInfo2(String name, int tag, FieldType dataType)
- {
- this(name, tag, dataType, LENGTH_UNKNOWN);
- }
-
- public final String name;
- public final int tag;
- public final FieldType dataTypes[];
- public final int length;
- public final String lengthDescription;
-
- public TagInfo2(String name, int tag, FieldType dataTypes[],
- int length, String lengthDescription)
- {
- this.name = name;
- this.tag = tag;
- this.dataTypes = dataTypes;
- this.length = length;
- this.lengthDescription = lengthDescription;
- }
-
- public Object getValue(TiffField entry)
- {
- Object o = entry.fieldType.getSimpleValue(entry);
- return o;
- }
-
- public String toString()
- {
- return "[TagInfo. tag: " + tag + ", name: " + name + "]";
- }
-
- }
-
- public static class TagInfo2Date extends TagInfo2
- {
- public TagInfo2Date(String name, int tag, FieldType dataType, int length)
- {
- super(name, tag, dataType, length);
- }
- //
- // public TagInfo2Date(String name, int tag, FieldType dataType,
- // String lengthDescription)
- // {
- // this(name, tag, new FieldType[]{
- // dataType
- // }, LENGTH_UNKNOWN, lengthDescription);
- // }
- //
- // public TagInfo2Date(String name, int tag, FieldType dataTypes[], int length)
- // {
- // this(name, tag, dataTypes, length, null);
- // }
- //
- // public TagInfo2Date(String name, int tag, FieldType dataTypes[],
- // String lengthDescription)
- // {
- // this(name, tag, dataTypes, LENGTH_UNKNOWN, lengthDescription);
- // }
- //
- // public TagInfo2Date(String name, int tag, FieldType dataType)
- // {
- // this(name, tag, dataType, LENGTH_UNKNOWN);
- // }
-
- private static final DateFormat DATE_FORMAT_1 = new SimpleDateFormat(
- "yyyy:MM:dd HH:mm:ss");
- private static final DateFormat DATE_FORMAT_2 = new SimpleDateFormat(
- "yyyy:MM:dd:HH:mm:ss");
-
- public Object getValue(TiffField entry)
- {
- Object o = entry.fieldType.getSimpleValue(entry);
-
- String s = (String) o;
- try
- {
- Date date = DATE_FORMAT_1.parse(s);
- return date;
- }
- catch (Exception e)
- {
- // Debug.debug(e);
- }
- try
- {
- Date date = DATE_FORMAT_2.parse(s);
- return date;
- }
- catch (Exception e)
- {
- Debug.debug(e);
- }
-
- return o;
- }
-
- public String toString()
- {
- return "[TagInfo. tag: " + tag + ", name: " + name + " (data)"
- + "]";
- }
- }
-
-}
+//package org.apache.sanselan.formats.tiff.debug;
+//
+//import org.apache.sanselan.formats.tiff.constants.TiffFieldTypeConstants;
+//
+//public interface TiffConst extends TiffFieldTypeConstants
+//{
+//
+// public static final int TIFF_COMPRESSION_UNCOMPRESSED_1 = 1;
+// public static final int TIFF_COMPRESSION_UNCOMPRESSED = TIFF_COMPRESSION_UNCOMPRESSED_1;
+// public static final int TIFF_COMPRESSION_CCITT_1D = 2;
+// public static final int TIFF_COMPRESSION_CCITT_GROUP_3 = 3;
+// public static final int TIFF_COMPRESSION_CCITT_GROUP_4 = 4;
+// public static final int TIFF_COMPRESSION_LZW = 5;
+// public static final int TIFF_COMPRESSION_JPEG = 6;
+// public static final int TIFF_COMPRESSION_UNCOMPRESSED_2 = 32771;
+// public static final int TIFF_COMPRESSION_PACKBITS = 32773;
+//
+// public static final int PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO = 0;
+// public static final int PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO = 1;
+// public static final int PHOTOMETRIC_INTERPRETATION_RGB = 2;
+// public static final int PHOTOMETRIC_INTERPRETATION_RGB_PALETTE = 3;
+// public static final int PHOTOMETRIC_INTERPRETATION_TRANSPARENCY_MASK = 4;
+// public static final int PHOTOMETRIC_INTERPRETATION_CMYK = 5;
+// public static final int PHOTOMETRIC_INTERPRETATION_YCBCR = 6;
+// public static final int PHOTOMETRIC_INTERPRETATION_CIELAB = 8;
+//
+// // public static final FieldTypeByte FIELD_TYPE_BYTE = new FieldTypeByte(1,
+// // "Byte");
+// //
+// // public static final FieldTypeASCII FIELD_TYPE_ASCII = new FieldTypeASCII(2,
+// // "ASCII");
+// //
+// // public static final FieldTypeShort FIELD_TYPE_SHORT = new FieldTypeShort(3,
+// // "Short");
+// //
+// // public static final FieldTypeLong FIELD_TYPE_LONG = new FieldTypeLong(4,
+// // "Long");
+// //
+// // public static final FieldTypeRational FIELD_TYPE_RATIONAL = new FieldTypeRational(
+// // 5, "Rational");
+// //
+// // public static final FieldType FIELD_TYPE_SBYTE = new FieldTypeByte(6,
+// // "SByte");
+// // public static final FieldType FIELD_TYPE_UNDEFINED = new FieldTypeByte(7,
+// // "Undefined");
+// // public static final FieldType FIELD_TYPE_SSHORT = new FieldTypeShort(8,
+// // "SShort");
+// //
+// // public static final FieldType FIELD_TYPE_SLONG = new FieldTypeLong(9,
+// // "SLong");
+// //
+// // public static final FieldType FIELD_TYPE_SRATIONAL = new FieldTypeRational(
+// // 10, "SRational");
+// //
+// // public static final FieldType FIELD_TYPE_FLOAT = new FieldTypeFloat();
+// //
+// // public static final FieldType FIELD_TYPE_DOUBLE = new FieldTypeDouble();
+// //
+// // public static final FieldType FIELD_TYPE_UNKNOWN = new FieldTypeUnknown();
+// //
+// // public static final FieldType FIELD_TYPES[] = {
+// // FIELD_TYPE_BYTE, FIELD_TYPE_ASCII, FIELD_TYPE_SHORT,
+// // FIELD_TYPE_LONG, FIELD_TYPE_RATIONAL, FIELD_TYPE_SBYTE,
+// // FIELD_TYPE_UNDEFINED, FIELD_TYPE_SSHORT, FIELD_TYPE_SLONG,
+// // FIELD_TYPE_SRATIONAL, FIELD_TYPE_FLOAT, FIELD_TYPE_DOUBLE,
+// // };
+// //
+// // public static final FieldType FIELD_TYPE_ANY[] = FIELD_TYPES;
+//
+//}
Modified: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst1.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst1.java?rev=607388&r1=607387&r2=607388&view=diff
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst1.java (original)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst1.java Fri Dec 28 22:48:44 2007
@@ -1,180 +1,182 @@
-package org.apache.sanselan.formats.tiff.debug;
-
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
-
-public class TiffConst1 extends TiffConst
-{
-
- public static final TagInfo2 TAG_INFO_NEW_SUB_FILE_TYPE = new TagInfo2(
- "NewSubfileType", 254, FIELD_TYPE_LONG, 1);
- public static final TagInfo2 TAG_INFO_SUB_FILE_TYPE = new TagInfo2(
- "SubfileType", 255, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_IMAGE_WIDTH = new TagInfo2(
- "ImageWidth", 256, new FieldType[]{
- FIELD_TYPE_SHORT, FIELD_TYPE_LONG
- }, 1);
- public static final TagInfo2 TAG_INFO_IMAGE_LENGTH = new TagInfo2(
- "ImageLength", 257, new FieldType[]{
- FIELD_TYPE_SHORT, FIELD_TYPE_LONG
- }, 1);
- public static final TagInfo2 TAG_INFO_BITS_PER_SAMPLE = new TagInfo2(
- "BitsPerSample", 258, FIELD_TYPE_SHORT, "SamplesPerPixel");
- public static final TagInfo2 TAG_INFO_COMPRESSION = new TagInfo2(
- "Compression", 259, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_PHOTOMETRIC_INTERPRETATION = new TagInfo2(
- "PhotometricInterpretation", 262, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_THRESHHOLDING = new TagInfo2(
- "Threshholding", 263, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_CELL_WIDTH = new TagInfo2(
- "CellWidth", 264, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_CELL_LENGTH = new TagInfo2(
- "CellLength", 265, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_FILL_ORDER = new TagInfo2(
- "FillOrder", 266, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_DOCUMENT_NAME = new TagInfo2(
- "DocumentName", 269, FIELD_TYPE_ASCII);
- public static final TagInfo2 TAG_INFO_IMAGE_DESCRIPTION = new TagInfo2(
- "ImageDescription", 270, FIELD_TYPE_ASCII);
- public static final TagInfo2 TAG_INFO_MAKE = new TagInfo2("Make", 271,
- FIELD_TYPE_ASCII);
- public static final TagInfo2 TAG_INFO_MODEL = new TagInfo2("Model", 272,
- FIELD_TYPE_ASCII);
- public static final TagInfo2 TAG_INFO_STRIP_OFFSETS = new TagInfo2(
- "StripOffsets", 273, new FieldType[]{
- FIELD_TYPE_SHORT, FIELD_TYPE_LONG
- }, "StripsPerImage");
- public static final TagInfo2 TAG_INFO_ORIENTATION = new TagInfo2(
- "Orientation", 274, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_SAMPLES_PER_PIXEL = new TagInfo2(
- "SamplesPerPixel", 277, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_ROWS_PER_STRIP = new TagInfo2(
- "RowsPerStrip", 278, new FieldType[]{
- FIELD_TYPE_SHORT, FIELD_TYPE_LONG
- }, 1);
- public static final TagInfo2 TAG_INFO_STRIP_BYTE_COUNTS = new TagInfo2(
- "StripByteCounts", 279, new FieldType[]{
- FIELD_TYPE_LONG, FIELD_TYPE_SHORT
- }, "StripsPerImage");
- public static final TagInfo2 TAG_INFO_MIN_SAMPLE_VALUE = new TagInfo2(
- "MinSampleValue", 280, FIELD_TYPE_SHORT, "SamplesPerPixel");
- public static final TagInfo2 TAG_INFO_MAX_SAMPLE_VALUE = new TagInfo2(
- "MaxSampleValue", 281, FIELD_TYPE_SHORT, "SamplesPerPixel");
- public static final TagInfo2 TAG_INFO_X_RESOLUTION = new TagInfo2(
- "XResolution", 282, FIELD_TYPE_RATIONAL, 1);
- public static final TagInfo2 TAG_INFO_Y_RESOLUTION = new TagInfo2(
- "YResolution", 283, FIELD_TYPE_RATIONAL, 1);
- public static final TagInfo2 TAG_INFO_PLANAR_CONFIGURATION = new TagInfo2(
- "PlanarConfiguration", 284, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_PAGE_NAME = new TagInfo2("PageName",
- 285, FIELD_TYPE_ASCII);
- public static final TagInfo2 TAG_INFO_X_POSITION = new TagInfo2(
- "XPosition", 286, FIELD_TYPE_RATIONAL);
- public static final TagInfo2 TAG_INFO_Y_POSITION = new TagInfo2(
- "YPosition", 287, FIELD_TYPE_RATIONAL);
- public static final TagInfo2 TAG_INFO_FREE_OFFSETS = new TagInfo2(
- "FreeOffsets", 288, FIELD_TYPE_LONG);
- public static final TagInfo2 TAG_INFO_FREE_BYTE_COUNTS = new TagInfo2(
- "FreeByteCounts", 289, FIELD_TYPE_LONG);
- public static final TagInfo2 TAG_INFO_GRAY_RESPONSE_UNIT = new TagInfo2(
- "GrayResponseUnit", 290, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_GRAY_RESPONSE_CURVE = new TagInfo2(
- "GrayResponseCurve", 291, FIELD_TYPE_SHORT, "2**BitsPerSample");
- public static final TagInfo2 TAG_INFO_T4_OPTIONS = new TagInfo2(
- "T4Options", 292, FIELD_TYPE_LONG, 1);
- public static final TagInfo2 TAG_INFO_T6_OPTIONS = new TagInfo2(
- "T6Options", 293, FIELD_TYPE_LONG, 1);
- public static final TagInfo2 TAG_INFO_RESOLUTION_UNIT = new TagInfo2(
- "ResolutionUnit", 296, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_PAGE_NUMBER = new TagInfo2(
- "PageNumber", 297, FIELD_TYPE_SHORT, 2);
- public static final TagInfo2 TAG_INFO_TRANSFER_FUNCTION = new TagInfo2(
- "TransferFunction", 301, FIELD_TYPE_SHORT,
- "{1 or SamplesPerPixel}* 2** BitsPerSample");
- public static final TagInfo2 TAG_INFO_SOFTWARE = new TagInfo2("Software",
- 305, FIELD_TYPE_ASCII);
- public static final TagInfo2 TAG_INFO_DATE_TIME = new TagInfo2Date(
- "DateTime", 306, FIELD_TYPE_ASCII, 20);
- public static final TagInfo2 TAG_INFO_ARTIST = new TagInfo2("Artist", 315,
- FIELD_TYPE_ASCII);
- public static final TagInfo2 TAG_INFO_HOST_COMPUTER = new TagInfo2(
- "HostComputer", 316, FIELD_TYPE_ASCII);
- public static final TagInfo2 TAG_INFO_PREDICTOR = new TagInfo2("Predictor",
- 317, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_WHITE_POINT = new TagInfo2(
- "WhitePoint", 318, FIELD_TYPE_RATIONAL, 2);
- public static final TagInfo2 TAG_INFO_PRIMARY_CHROMATICITIES = new TagInfo2(
- "PrimaryChromaticities", 319, FIELD_TYPE_RATIONAL, 6);
- public static final TagInfo2 TAG_INFO_COLOR_MAP = new TagInfo2("ColorMap",
- 320, FIELD_TYPE_SHORT, "3 * (2**BitsPerSample)");
- public static final TagInfo2 TAG_INFO_HALFTONE_HINTS = new TagInfo2(
- "HalftoneHints", 321, FIELD_TYPE_SHORT, 2);
- public static final TagInfo2 TAG_INFO_TILE_WIDTH = new TagInfo2(
- "TileWidth", 322, new FieldType[]{
- FIELD_TYPE_SHORT, FIELD_TYPE_LONG
- }, 1);
- public static final TagInfo2 TAG_INFO_TILE_LENGTH = new TagInfo2(
- "TileLength", 323, new FieldType[]{
- FIELD_TYPE_SHORT, FIELD_TYPE_LONG
- }, 1);
- public static final TagInfo2 TAG_INFO_TILE_OFFSETS = new TagInfo2(
- "TileOffsets", 324, FIELD_TYPE_LONG, "TilesPerImage");
- public static final TagInfo2 TAG_INFO_TILE_BYTE_COUNTS = new TagInfo2(
- "TileByteCounts", 325, new FieldType[]{
- FIELD_TYPE_SHORT, FIELD_TYPE_LONG
- }, "TilesPerImage");
- public static final TagInfo2 TAG_INFO_INK_SET = new TagInfo2("InkSet", 332,
- FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_INK_NAMES = new TagInfo2("InkNames",
- 333, FIELD_TYPE_ASCII,
- "total number of characters in all ink name strings, including zeros");
- public static final TagInfo2 TAG_INFO_NUMBER_OF_INKS = new TagInfo2(
- "NumberOfInks", 334, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_DOT_RANGE = new TagInfo2("DotRange",
- 336, new FieldType[]{
- FIELD_TYPE_BYTE, FIELD_TYPE_SHORT
- }, "2, or 2* NumberOfInks");
- public static final TagInfo2 TAG_INFO_TARGET_PRINTER = new TagInfo2(
- "TargetPrinter", 337, FIELD_TYPE_ASCII, "any");
- public static final TagInfo2 TAG_INFO_EXTRA_SAMPLES = new TagInfo2(
- "ExtraSamples", 338, FIELD_TYPE_BYTE,
- "number of extra components per pixel");
- public static final TagInfo2 TAG_INFO_SAMPLE_FORMAT = new TagInfo2(
- "SampleFormat", 339, FIELD_TYPE_SHORT, "SamplesPerPixel");
- public static final TagInfo2 TAG_INFO_S_MIN_SAMPLE_VALUE = new TagInfo2(
- "SMinSampleValue", 340, FIELD_TYPE_ANY, "SamplesPerPixel");
- public static final TagInfo2 TAG_INFO_S_MAX_SAMPLE_VALUE = new TagInfo2(
- "SMaxSampleValue", 341, FIELD_TYPE_ANY, "SamplesPerPixel");
- public static final TagInfo2 TAG_INFO_TRANSFER_RANGE = new TagInfo2(
- "TransferRange", 342, FIELD_TYPE_SHORT, 6);
- public static final TagInfo2 TAG_INFO_JPEG_PROC = new TagInfo2("JPEGProc",
- 512, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_JPEG_INTERCHANGE_FORMAT = new TagInfo2(
- "JPEGInterchangeFormat", 513, FIELD_TYPE_LONG, 1);
- public static final TagInfo2 TAG_INFO_JPEG_INTERCHANGE_FORMAT_LENGTH = new TagInfo2(
- "JPEGInterchangeFormatLength", 514, FIELD_TYPE_LONG, 1);
- public static final TagInfo2 TAG_INFO_JPEG_RESTART_INTERVAL = new TagInfo2(
- "JPEGRestartInterval", 515, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_JPEG_LOSSLESS_PREDICTORS = new TagInfo2(
- "JPEGLosslessPredictors", 517, FIELD_TYPE_SHORT, "SamplesPerPixel");
- public static final TagInfo2 TAG_INFO_JPEG_POINT_TRANSFORMS = new TagInfo2(
- "JPEGPointTransforms", 518, FIELD_TYPE_SHORT, "SamplesPerPixel");
- public static final TagInfo2 TAG_INFO_JPEG_Q_TABLES = new TagInfo2(
- "JPEGQTables", 519, FIELD_TYPE_LONG, "SamplesPerPixel");
- public static final TagInfo2 TAG_INFO_JPEG_DC_TABLES = new TagInfo2(
- "JPEGDCTables", 520, FIELD_TYPE_LONG, "SamplesPerPixel");
- public static final TagInfo2 TAG_INFO_JPEG_AC_TABLES = new TagInfo2(
- "JPEGACTables", 521, FIELD_TYPE_LONG, "SamplesPerPixel");
- public static final TagInfo2 TAG_INFO_YCBCR_COEFFICIENTS = new TagInfo2(
- "YCbCrCoefficients", 529, FIELD_TYPE_RATIONAL, 3);
- public static final TagInfo2 TAG_INFO_YCBCR_SUBSAMPLING = new TagInfo2(
- "YCbCrSubSampling", 530, FIELD_TYPE_SHORT, 2);
- public static final TagInfo2 TAG_INFO_YCBCR_POSITIONING = new TagInfo2(
- "YCbCrPositioning", 531, FIELD_TYPE_SHORT, 1);
- public static final TagInfo2 TAG_INFO_REFERENCE_BLACK_WHITE = new TagInfo2(
- "ReferenceBlackWhite", 532, FIELD_TYPE_LONG, "2*SamplesPerPixel");
- public static final TagInfo2 TAG_INFO_COPYRIGHT = new TagInfo2("Copyright",
- 33432, FIELD_TYPE_ASCII, "Any");
-
-}
-
-/**/
+//package org.apache.sanselan.formats.tiff.debug;
+//
+//import org.apache.sanselan.formats.tiff.constants.TagInfo2;
+//import org.apache.sanselan.formats.tiff.constants.TagInfo2.Date;
+//import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
+//
+//public interface TiffConst1 extends TiffConst
+//{
+//
+// public static final TagInfo2 TAG_INFO_NEW_SUB_FILE_TYPE = new TagInfo2(
+// "NewSubfileType", 254, FIELD_TYPE_LONG, 1);
+// public static final TagInfo2 TAG_INFO_SUB_FILE_TYPE = new TagInfo2(
+// "SubfileType", 255, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_IMAGE_WIDTH = new TagInfo2(
+// "ImageWidth", 256, new FieldType[]{
+// FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+// }, 1);
+// public static final TagInfo2 TAG_INFO_IMAGE_LENGTH = new TagInfo2(
+// "ImageLength", 257, new FieldType[]{
+// FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+// }, 1);
+// public static final TagInfo2 TAG_INFO_BITS_PER_SAMPLE = new TagInfo2(
+// "BitsPerSample", 258, FIELD_TYPE_SHORT, "SamplesPerPixel");
+// public static final TagInfo2 TAG_INFO_COMPRESSION = new TagInfo2(
+// "Compression", 259, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_PHOTOMETRIC_INTERPRETATION = new TagInfo2(
+// "PhotometricInterpretation", 262, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_THRESHHOLDING = new TagInfo2(
+// "Threshholding", 263, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_CELL_WIDTH = new TagInfo2(
+// "CellWidth", 264, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_CELL_LENGTH = new TagInfo2(
+// "CellLength", 265, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_FILL_ORDER = new TagInfo2(
+// "FillOrder", 266, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_DOCUMENT_NAME = new TagInfo2(
+// "DocumentName", 269, FIELD_TYPE_ASCII);
+// public static final TagInfo2 TAG_INFO_IMAGE_DESCRIPTION = new TagInfo2(
+// "ImageDescription", 270, FIELD_TYPE_ASCII);
+// public static final TagInfo2 TAG_INFO_MAKE = new TagInfo2("Make", 271,
+// FIELD_TYPE_ASCII);
+// public static final TagInfo2 TAG_INFO_MODEL = new TagInfo2("Model", 272,
+// FIELD_TYPE_ASCII);
+// public static final TagInfo2 TAG_INFO_STRIP_OFFSETS = new TagInfo2(
+// "StripOffsets", 273, new FieldType[]{
+// FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+// }, "StripsPerImage");
+// public static final TagInfo2 TAG_INFO_ORIENTATION = new TagInfo2(
+// "Orientation", 274, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_SAMPLES_PER_PIXEL = new TagInfo2(
+// "SamplesPerPixel", 277, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_ROWS_PER_STRIP = new TagInfo2(
+// "RowsPerStrip", 278, new FieldType[]{
+// FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+// }, 1);
+// public static final TagInfo2 TAG_INFO_STRIP_BYTE_COUNTS = new TagInfo2(
+// "StripByteCounts", 279, new FieldType[]{
+// FIELD_TYPE_LONG, FIELD_TYPE_SHORT
+// }, "StripsPerImage");
+// public static final TagInfo2 TAG_INFO_MIN_SAMPLE_VALUE = new TagInfo2(
+// "MinSampleValue", 280, FIELD_TYPE_SHORT, "SamplesPerPixel");
+// public static final TagInfo2 TAG_INFO_MAX_SAMPLE_VALUE = new TagInfo2(
+// "MaxSampleValue", 281, FIELD_TYPE_SHORT, "SamplesPerPixel");
+// public static final TagInfo2 TAG_INFO_X_RESOLUTION = new TagInfo2(
+// "XResolution", 282, FIELD_TYPE_RATIONAL, 1);
+// public static final TagInfo2 TAG_INFO_Y_RESOLUTION = new TagInfo2(
+// "YResolution", 283, FIELD_TYPE_RATIONAL, 1);
+// public static final TagInfo2 TAG_INFO_PLANAR_CONFIGURATION = new TagInfo2(
+// "PlanarConfiguration", 284, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_PAGE_NAME = new TagInfo2("PageName",
+// 285, FIELD_TYPE_ASCII);
+// public static final TagInfo2 TAG_INFO_X_POSITION = new TagInfo2(
+// "XPosition", 286, FIELD_TYPE_RATIONAL);
+// public static final TagInfo2 TAG_INFO_Y_POSITION = new TagInfo2(
+// "YPosition", 287, FIELD_TYPE_RATIONAL);
+// public static final TagInfo2 TAG_INFO_FREE_OFFSETS = new TagInfo2(
+// "FreeOffsets", 288, FIELD_TYPE_LONG);
+// public static final TagInfo2 TAG_INFO_FREE_BYTE_COUNTS = new TagInfo2(
+// "FreeByteCounts", 289, FIELD_TYPE_LONG);
+// public static final TagInfo2 TAG_INFO_GRAY_RESPONSE_UNIT = new TagInfo2(
+// "GrayResponseUnit", 290, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_GRAY_RESPONSE_CURVE = new TagInfo2(
+// "GrayResponseCurve", 291, FIELD_TYPE_SHORT, "2**BitsPerSample");
+// public static final TagInfo2 TAG_INFO_T4_OPTIONS = new TagInfo2(
+// "T4Options", 292, FIELD_TYPE_LONG, 1);
+// public static final TagInfo2 TAG_INFO_T6_OPTIONS = new TagInfo2(
+// "T6Options", 293, FIELD_TYPE_LONG, 1);
+// public static final TagInfo2 TAG_INFO_RESOLUTION_UNIT = new TagInfo2(
+// "ResolutionUnit", 296, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_PAGE_NUMBER = new TagInfo2(
+// "PageNumber", 297, FIELD_TYPE_SHORT, 2);
+// public static final TagInfo2 TAG_INFO_TRANSFER_FUNCTION = new TagInfo2(
+// "TransferFunction", 301, FIELD_TYPE_SHORT,
+// "{1 or SamplesPerPixel}* 2** BitsPerSample");
+// public static final TagInfo2 TAG_INFO_SOFTWARE = new TagInfo2("Software",
+// 305, FIELD_TYPE_ASCII);
+// public static final TagInfo2 TAG_INFO_DATE_TIME = new TagInfo2.Date(
+// "DateTime", 306, FIELD_TYPE_ASCII, 20);
+// public static final TagInfo2 TAG_INFO_ARTIST = new TagInfo2("Artist", 315,
+// FIELD_TYPE_ASCII);
+// public static final TagInfo2 TAG_INFO_HOST_COMPUTER = new TagInfo2(
+// "HostComputer", 316, FIELD_TYPE_ASCII);
+// public static final TagInfo2 TAG_INFO_PREDICTOR = new TagInfo2("Predictor",
+// 317, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_WHITE_POINT = new TagInfo2(
+// "WhitePoint", 318, FIELD_TYPE_RATIONAL, 2);
+// public static final TagInfo2 TAG_INFO_PRIMARY_CHROMATICITIES = new TagInfo2(
+// "PrimaryChromaticities", 319, FIELD_TYPE_RATIONAL, 6);
+// public static final TagInfo2 TAG_INFO_COLOR_MAP = new TagInfo2("ColorMap",
+// 320, FIELD_TYPE_SHORT, "3 * (2**BitsPerSample)");
+// public static final TagInfo2 TAG_INFO_HALFTONE_HINTS = new TagInfo2(
+// "HalftoneHints", 321, FIELD_TYPE_SHORT, 2);
+// public static final TagInfo2 TAG_INFO_TILE_WIDTH = new TagInfo2(
+// "TileWidth", 322, new FieldType[]{
+// FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+// }, 1);
+// public static final TagInfo2 TAG_INFO_TILE_LENGTH = new TagInfo2(
+// "TileLength", 323, new FieldType[]{
+// FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+// }, 1);
+// public static final TagInfo2 TAG_INFO_TILE_OFFSETS = new TagInfo2(
+// "TileOffsets", 324, FIELD_TYPE_LONG, "TilesPerImage");
+// public static final TagInfo2 TAG_INFO_TILE_BYTE_COUNTS = new TagInfo2(
+// "TileByteCounts", 325, new FieldType[]{
+// FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+// }, "TilesPerImage");
+// public static final TagInfo2 TAG_INFO_INK_SET = new TagInfo2("InkSet", 332,
+// FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_INK_NAMES = new TagInfo2("InkNames",
+// 333, FIELD_TYPE_ASCII,
+// "total number of characters in all ink name strings, including zeros");
+// public static final TagInfo2 TAG_INFO_NUMBER_OF_INKS = new TagInfo2(
+// "NumberOfInks", 334, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_DOT_RANGE = new TagInfo2("DotRange",
+// 336, new FieldType[]{
+// FIELD_TYPE_BYTE, FIELD_TYPE_SHORT
+// }, "2, or 2* NumberOfInks");
+// public static final TagInfo2 TAG_INFO_TARGET_PRINTER = new TagInfo2(
+// "TargetPrinter", 337, FIELD_TYPE_ASCII, "any");
+// public static final TagInfo2 TAG_INFO_EXTRA_SAMPLES = new TagInfo2(
+// "ExtraSamples", 338, FIELD_TYPE_BYTE,
+// "number of extra components per pixel");
+// public static final TagInfo2 TAG_INFO_SAMPLE_FORMAT = new TagInfo2(
+// "SampleFormat", 339, FIELD_TYPE_SHORT, "SamplesPerPixel");
+// public static final TagInfo2 TAG_INFO_S_MIN_SAMPLE_VALUE = new TagInfo2(
+// "SMinSampleValue", 340, FIELD_TYPE_ANY, "SamplesPerPixel");
+// public static final TagInfo2 TAG_INFO_S_MAX_SAMPLE_VALUE = new TagInfo2(
+// "SMaxSampleValue", 341, FIELD_TYPE_ANY, "SamplesPerPixel");
+// public static final TagInfo2 TAG_INFO_TRANSFER_RANGE = new TagInfo2(
+// "TransferRange", 342, FIELD_TYPE_SHORT, 6);
+// public static final TagInfo2 TAG_INFO_JPEG_PROC = new TagInfo2("JPEGProc",
+// 512, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_JPEG_INTERCHANGE_FORMAT = new TagInfo2(
+// "JPEGInterchangeFormat", 513, FIELD_TYPE_LONG, 1);
+// public static final TagInfo2 TAG_INFO_JPEG_INTERCHANGE_FORMAT_LENGTH = new TagInfo2(
+// "JPEGInterchangeFormatLength", 514, FIELD_TYPE_LONG, 1);
+// public static final TagInfo2 TAG_INFO_JPEG_RESTART_INTERVAL = new TagInfo2(
+// "JPEGRestartInterval", 515, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_JPEG_LOSSLESS_PREDICTORS = new TagInfo2(
+// "JPEGLosslessPredictors", 517, FIELD_TYPE_SHORT, "SamplesPerPixel");
+// public static final TagInfo2 TAG_INFO_JPEG_POINT_TRANSFORMS = new TagInfo2(
+// "JPEGPointTransforms", 518, FIELD_TYPE_SHORT, "SamplesPerPixel");
+// public static final TagInfo2 TAG_INFO_JPEG_Q_TABLES = new TagInfo2(
+// "JPEGQTables", 519, FIELD_TYPE_LONG, "SamplesPerPixel");
+// public static final TagInfo2 TAG_INFO_JPEG_DC_TABLES = new TagInfo2(
+// "JPEGDCTables", 520, FIELD_TYPE_LONG, "SamplesPerPixel");
+// public static final TagInfo2 TAG_INFO_JPEG_AC_TABLES = new TagInfo2(
+// "JPEGACTables", 521, FIELD_TYPE_LONG, "SamplesPerPixel");
+// public static final TagInfo2 TAG_INFO_YCBCR_COEFFICIENTS = new TagInfo2(
+// "YCbCrCoefficients", 529, FIELD_TYPE_RATIONAL, 3);
+// public static final TagInfo2 TAG_INFO_YCBCR_SUBSAMPLING = new TagInfo2(
+// "YCbCrSubSampling", 530, FIELD_TYPE_SHORT, 2);
+// public static final TagInfo2 TAG_INFO_YCBCR_POSITIONING = new TagInfo2(
+// "YCbCrPositioning", 531, FIELD_TYPE_SHORT, 1);
+// public static final TagInfo2 TAG_INFO_REFERENCE_BLACK_WHITE = new TagInfo2(
+// "ReferenceBlackWhite", 532, FIELD_TYPE_LONG, "2*SamplesPerPixel");
+// public static final TagInfo2 TAG_INFO_COPYRIGHT = new TagInfo2("Copyright",
+// 33432, FIELD_TYPE_ASCII, "Any");
+//
+//}
+//
+///**/