0001: /*
0002: * $RCSfile: BaselineTIFFTagSet.java,v $
0003: *
0004: *
0005: * Copyright (c) 2005 Sun Microsystems, Inc. All Rights Reserved.
0006: *
0007: * Redistribution and use in source and binary forms, with or without
0008: * modification, are permitted provided that the following conditions
0009: * are met:
0010: *
0011: * - Redistribution of source code must retain the above copyright
0012: * notice, this list of conditions and the following disclaimer.
0013: *
0014: * - Redistribution in binary form must reproduce the above copyright
0015: * notice, this list of conditions and the following disclaimer in
0016: * the documentation and/or other materials provided with the
0017: * distribution.
0018: *
0019: * Neither the name of Sun Microsystems, Inc. or the names of
0020: * contributors may be used to endorse or promote products derived
0021: * from this software without specific prior written permission.
0022: *
0023: * This software is provided "AS IS," without a warranty of any
0024: * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
0025: * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
0026: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
0027: * EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
0028: * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
0029: * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
0030: * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
0031: * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
0032: * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
0033: * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
0034: * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
0035: * POSSIBILITY OF SUCH DAMAGES.
0036: *
0037: * You acknowledge that this software is not designed or intended for
0038: * use in the design, construction, operation or maintenance of any
0039: * nuclear facility.
0040: *
0041: * $Revision: 1.2 $
0042: * $Date: 2006/04/26 21:39:46 $
0043: * $State: Exp $
0044: */
0045: package com.sun.media.imageio.plugins.tiff;
0046:
0047: import java.util.ArrayList;
0048: import java.util.List;
0049:
0050: /**
0051: * A class representing the set of tags found in the baseline TIFF
0052: * specification as well as some common additional tags.
0053: *
0054: * <p> The non-baseline tags included in this class are:
0055: * <ul>
0056: * <li> {@link #TAG_JPEG_TABLES JPEGTables}
0057: * <li> {@link #TAG_ICC_PROFILE ICC Profile}
0058: * </ul>
0059: * </p>
0060: *
0061: * <p> The non-baseline values of baseline tags included in this class are
0062: * <li>{@link #TAG_COMPRESSION Compression} tag values:
0063: * <ul>
0064: * <li>{@link #COMPRESSION_JPEG JPEG-in-TIFF compression}</li>
0065: * <li>{@link #COMPRESSION_ZLIB Zlib-in-TIFF compression}</li>
0066: * <li>{@link #COMPRESSION_DEFLATE Deflate compression}</li>
0067: * </ul>
0068: * </li>
0069: * <li>{@link #TAG_PHOTOMETRIC_INTERPRETATION PhotometricInterpretation}
0070: * tag values:
0071: * <ul>
0072: * <li>{@link #PHOTOMETRIC_INTERPRETATION_ICCLAB ICCLAB
0073: * photometric interpretation}</li>
0074: * </ul>
0075: * </li>
0076: * </p>
0077: *
0078: * @see <a href="http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf"> TIFF 6.0 Specification</a>
0079: */
0080: public class BaselineTIFFTagSet extends TIFFTagSet {
0081:
0082: private static BaselineTIFFTagSet theInstance = null;
0083:
0084: // Tags from TIFF 6.0 specification
0085:
0086: /**
0087: * Constant specifying the "NewSubfileType" tag.
0088: *
0089: * @see #NEW_SUBFILE_TYPE_REDUCED_RESOLUTION
0090: * @see #NEW_SUBFILE_TYPE_SINGLE_PAGE
0091: * @see #NEW_SUBFILE_TYPE_TRANSPARENCY
0092: */
0093: public static final int TAG_NEW_SUBFILE_TYPE = 254;
0094:
0095: /**
0096: * A mask to be used with the "NewSubfileType" tag.
0097: *
0098: * @see #TAG_NEW_SUBFILE_TYPE
0099: */
0100: public static final int NEW_SUBFILE_TYPE_REDUCED_RESOLUTION = 1;
0101:
0102: /**
0103: * A mask to be used with the "NewSubfileType" tag.
0104: *
0105: * @see #TAG_NEW_SUBFILE_TYPE
0106: */
0107: public static final int NEW_SUBFILE_TYPE_SINGLE_PAGE = 2;
0108:
0109: /**
0110: * A mask to be used with the "NewSubfileType" tag.
0111: *
0112: * @see #TAG_NEW_SUBFILE_TYPE
0113: */
0114: public static final int NEW_SUBFILE_TYPE_TRANSPARENCY = 4;
0115:
0116: /**
0117: * Constant specifying the "SubfileType" tag.
0118: *
0119: * @see #SUBFILE_TYPE_FULL_RESOLUTION
0120: * @see #SUBFILE_TYPE_REDUCED_RESOLUTION
0121: * @see #SUBFILE_TYPE_SINGLE_PAGE
0122: */
0123: public static final int TAG_SUBFILE_TYPE = 255;
0124:
0125: /**
0126: * A value to be used with the "SubfileType" tag.
0127: *
0128: * @see #TAG_SUBFILE_TYPE
0129: */
0130: public static final int SUBFILE_TYPE_FULL_RESOLUTION = 1;
0131:
0132: /**
0133: * A value to be used with the "SubfileType" tag.
0134: *
0135: * @see #TAG_SUBFILE_TYPE
0136: */
0137: public static final int SUBFILE_TYPE_REDUCED_RESOLUTION = 2;
0138:
0139: /**
0140: * A value to be used with the "SubfileType" tag.
0141: *
0142: * @see #TAG_SUBFILE_TYPE
0143: */
0144: public static final int SUBFILE_TYPE_SINGLE_PAGE = 3;
0145:
0146: /**
0147: * Constant specifying the "ImageWidth" tag.
0148: */
0149: public static final int TAG_IMAGE_WIDTH = 256;
0150:
0151: /**
0152: * Constant specifying the "ImageLength" tag.
0153: */
0154: public static final int TAG_IMAGE_LENGTH = 257;
0155:
0156: /**
0157: * Constant specifying the "BitsPerSample" tag.
0158: */
0159: public static final int TAG_BITS_PER_SAMPLE = 258;
0160:
0161: /**
0162: * Constant specifying the "Compression" tag.
0163: *
0164: * @see #COMPRESSION_NONE
0165: * @see #COMPRESSION_CCITT_RLE
0166: * @see #COMPRESSION_CCITT_T_4
0167: * @see #COMPRESSION_CCITT_T_6
0168: * @see #COMPRESSION_LZW
0169: * @see #COMPRESSION_OLD_JPEG
0170: * @see #COMPRESSION_JPEG
0171: * @see #COMPRESSION_ZLIB
0172: * @see #COMPRESSION_PACKBITS
0173: * @see #COMPRESSION_DEFLATE
0174: */
0175: public static final int TAG_COMPRESSION = 259;
0176:
0177: /**
0178: * A value to be used with the "Compression" tag.
0179: *
0180: * @see #TAG_COMPRESSION
0181: */
0182: public static final int COMPRESSION_NONE = 1;
0183:
0184: /**
0185: * A value to be used with the "Compression" tag.
0186: *
0187: * @see #TAG_COMPRESSION
0188: */
0189: public static final int COMPRESSION_CCITT_RLE = 2;
0190:
0191: /**
0192: * A value to be used with the "Compression" tag.
0193: *
0194: * @see #TAG_COMPRESSION
0195: */
0196: public static final int COMPRESSION_CCITT_T_4 = 3;
0197:
0198: /**
0199: * A value to be used with the "Compression" tag.
0200: *
0201: * @see #TAG_COMPRESSION
0202: */
0203: public static final int COMPRESSION_CCITT_T_6 = 4;
0204:
0205: /**
0206: * A value to be used with the "Compression" tag.
0207: *
0208: * @see #TAG_COMPRESSION
0209: */
0210: public static final int COMPRESSION_LZW = 5;
0211:
0212: /**
0213: * A value to be used with the "Compression" tag.
0214: *
0215: * @see #TAG_COMPRESSION
0216: */
0217: public static final int COMPRESSION_OLD_JPEG = 6;
0218:
0219: /**
0220: * A value to be used with the "Compression" tag.
0221: *
0222: * @see #TAG_COMPRESSION
0223: * @see <a href="http://partners.adobe.com/public/developer/en/tiff/TIFFphotoshop.pdf">TIFF Specification Supplement 2</a>
0224: */
0225: public static final int COMPRESSION_JPEG = 7;
0226:
0227: /**
0228: * A value to be used with the "Compression" tag.
0229: *
0230: * @see #TAG_COMPRESSION
0231: * @see <a href="http://partners.adobe.com/public/developer/en/tiff/TIFFphotoshop.pdf"> TIFF Specification Supplement 2</a>
0232: */
0233: public static final int COMPRESSION_ZLIB = 8;
0234:
0235: /**
0236: * A value to be used with the "Compression" tag.
0237: *
0238: * @see #TAG_COMPRESSION
0239: */
0240: public static final int COMPRESSION_PACKBITS = 32773;
0241:
0242: /**
0243: * A value to be used with the "Compression" tag.
0244: *
0245: * @see #TAG_COMPRESSION
0246: * @see <a href="http://www.isi.edu/in-notes/rfc1951.txt">DEFLATE specification</a>
0247: * @see <a href="http://partners.adobe.com/public/developer/en/tiff/TIFFphotoshop.pdf"> TIFF Specification Supplement 2</a>
0248: */
0249: public static final int COMPRESSION_DEFLATE = 32946;
0250:
0251: /**
0252: * Constant specifying the "PhotometricInterpretation" tag.
0253: *
0254: * @see #PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO
0255: * @see #PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO
0256: * @see #PHOTOMETRIC_INTERPRETATION_RGB
0257: * @see #PHOTOMETRIC_INTERPRETATION_PALETTE_COLOR
0258: * @see #PHOTOMETRIC_INTERPRETATION_TRANSPARENCY_MASK
0259: * @see #PHOTOMETRIC_INTERPRETATION_Y_CB_CR
0260: * @see #PHOTOMETRIC_INTERPRETATION_CIELAB
0261: * @see #PHOTOMETRIC_INTERPRETATION_ICCLAB
0262: */
0263: public static final int TAG_PHOTOMETRIC_INTERPRETATION = 262;
0264:
0265: /**
0266: * A value to be used with the "PhotometricInterpretation" tag.
0267: *
0268: * @see #TAG_PHOTOMETRIC_INTERPRETATION
0269: */
0270: public static final int PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO = 0;
0271:
0272: /**
0273: * A value to be used with the "PhotometricInterpretation" tag.
0274: *
0275: * @see #TAG_PHOTOMETRIC_INTERPRETATION
0276: */
0277: public static final int PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO = 1;
0278:
0279: /**
0280: * A value to be used with the "PhotometricInterpretation" tag.
0281: *
0282: * @see #TAG_PHOTOMETRIC_INTERPRETATION
0283: */
0284: public static final int PHOTOMETRIC_INTERPRETATION_RGB = 2;
0285:
0286: /**
0287: * A value to be used with the "PhotometricInterpretation" tag.
0288: *
0289: * @see #TAG_PHOTOMETRIC_INTERPRETATION
0290: */
0291: public static final int PHOTOMETRIC_INTERPRETATION_PALETTE_COLOR = 3;
0292:
0293: /**
0294: * A value to be used with the "PhotometricInterpretation" tag.
0295: *
0296: * @see #TAG_PHOTOMETRIC_INTERPRETATION
0297: */
0298: public static final int PHOTOMETRIC_INTERPRETATION_TRANSPARENCY_MASK = 4;
0299:
0300: /**
0301: * A value to be used with the "PhotometricInterpretation" tag.
0302: *
0303: * @see #TAG_PHOTOMETRIC_INTERPRETATION
0304: */
0305: public static final int PHOTOMETRIC_INTERPRETATION_CMYK = 5;
0306:
0307: /**
0308: * A value to be used with the "PhotometricInterpretation" tag.
0309: *
0310: * @see #TAG_PHOTOMETRIC_INTERPRETATION
0311: */
0312: public static final int PHOTOMETRIC_INTERPRETATION_Y_CB_CR = 6;
0313:
0314: /**
0315: * A value to be used with the "PhotometricInterpretation" tag.
0316: *
0317: * @see #TAG_PHOTOMETRIC_INTERPRETATION
0318: */
0319: public static final int PHOTOMETRIC_INTERPRETATION_CIELAB = 8;
0320:
0321: /**
0322: * A value to be used with the "PhotometricInterpretation" tag.
0323: *
0324: * @see #TAG_PHOTOMETRIC_INTERPRETATION
0325: * @see <a href="http://partners.adobe.com/public/developer/en/tiff/TIFFPM6.pdf">TIFF Specification Supplement 1</a>
0326: */
0327: public static final int PHOTOMETRIC_INTERPRETATION_ICCLAB = 9;
0328:
0329: /**
0330: * Constant specifying the "Threshholding" tag.
0331: *
0332: * @see #THRESHHOLDING_NONE
0333: * @see #THRESHHOLDING_ORDERED_DITHER
0334: * @see #THRESHHOLDING_RANDOMIZED_DITHER
0335: */
0336: public static final int TAG_THRESHHOLDING = 263;
0337:
0338: /**
0339: * A value to be used with the "Thresholding" tag.
0340: *
0341: * @see #TAG_THRESHHOLDING
0342: */
0343: public static final int THRESHHOLDING_NONE = 1;
0344:
0345: /**
0346: * A value to be used with the "Thresholding" tag.
0347: *
0348: * @see #TAG_THRESHHOLDING
0349: */
0350: public static final int THRESHHOLDING_ORDERED_DITHER = 2;
0351:
0352: /**
0353: * A value to be used with the "Thresholding" tag.
0354: *
0355: * @see #TAG_THRESHHOLDING
0356: */
0357: public static final int THRESHHOLDING_RANDOMIZED_DITHER = 3;
0358:
0359: /**
0360: * Constant specifying the "Cell_Width" tag.
0361: */
0362: public static final int TAG_CELL_WIDTH = 264;
0363:
0364: /**
0365: * Constant specifying the "cell_length" tag.
0366: */
0367: public static final int TAG_CELL_LENGTH = 265;
0368:
0369: /**
0370: * Constant specifying the "fill_order" tag.
0371: *
0372: * @see #FILL_ORDER_LEFT_TO_RIGHT
0373: * @see #FILL_ORDER_RIGHT_TO_LEFT
0374: */
0375: public static final int TAG_FILL_ORDER = 266;
0376:
0377: /**
0378: * A value to be used with the "FillOrder" tag.
0379: *
0380: * @see #TAG_FILL_ORDER
0381: */
0382: public static final int FILL_ORDER_LEFT_TO_RIGHT = 1;
0383:
0384: /**
0385: * A value to be used with the "FillOrder" tag.
0386: *
0387: * @see #TAG_FILL_ORDER
0388: */
0389: public static final int FILL_ORDER_RIGHT_TO_LEFT = 2;
0390:
0391: /**
0392: * Constant specifying the "document_name" tag.
0393: */
0394: public static final int TAG_DOCUMENT_NAME = 269;
0395:
0396: /**
0397: * Constant specifying the "Image_description" tag.
0398: */
0399: public static final int TAG_IMAGE_DESCRIPTION = 270;
0400:
0401: /**
0402: * Constant specifying the "Make" tag.
0403: */
0404: public static final int TAG_MAKE = 271;
0405:
0406: /**
0407: * Constant specifying the "Model" tag.
0408: */
0409: public static final int TAG_MODEL = 272;
0410:
0411: /**
0412: * Constant specifying the "Strip_offsets" tag.
0413: */
0414: public static final int TAG_STRIP_OFFSETS = 273;
0415:
0416: /**
0417: * Constant specifying the "Orientation" tag.
0418: *
0419: * @see #ORIENTATION_ROW_0_TOP_COLUMN_0_LEFT
0420: * @see #ORIENTATION_ROW_0_TOP_COLUMN_0_RIGHT
0421: * @see #ORIENTATION_ROW_0_BOTTOM_COLUMN_0_RIGHT
0422: * @see #ORIENTATION_ROW_0_BOTTOM_COLUMN_0_LEFT
0423: * @see #ORIENTATION_ROW_0_LEFT_COLUMN_0_TOP
0424: * @see #ORIENTATION_ROW_0_RIGHT_COLUMN_0_TOP
0425: * @see #ORIENTATION_ROW_0_RIGHT_COLUMN_0_BOTTOM
0426: * @see #ORIENTATION_ROW_0_LEFT_COLUMN_0_BOTTOM
0427: */
0428: public static final int TAG_ORIENTATION = 274;
0429:
0430: /**
0431: * A value to be used with the "Orientation" tag.
0432: *
0433: * @see #TAG_ORIENTATION
0434: */
0435: public static final int ORIENTATION_ROW_0_TOP_COLUMN_0_LEFT = 1;
0436:
0437: /**
0438: * A value to be used with the "Orientation" tag.
0439: *
0440: * @see #TAG_ORIENTATION
0441: */
0442: public static final int ORIENTATION_ROW_0_TOP_COLUMN_0_RIGHT = 2;
0443:
0444: /**
0445: * A value to be used with the "Orientation" tag.
0446: *
0447: * @see #TAG_ORIENTATION
0448: */
0449: public static final int ORIENTATION_ROW_0_BOTTOM_COLUMN_0_RIGHT = 3;
0450:
0451: /**
0452: * A value to be used with the "Orientation" tag.
0453: *
0454: * @see #TAG_ORIENTATION
0455: */
0456: public static final int ORIENTATION_ROW_0_BOTTOM_COLUMN_0_LEFT = 4;
0457:
0458: /**
0459: * A value to be used with the "Orientation" tag.
0460: *
0461: * @see #TAG_ORIENTATION
0462: */
0463: public static final int ORIENTATION_ROW_0_LEFT_COLUMN_0_TOP = 5;
0464:
0465: /**
0466: * A value to be used with the "Orientation" tag.
0467: *
0468: * @see #TAG_ORIENTATION
0469: */
0470: public static final int ORIENTATION_ROW_0_RIGHT_COLUMN_0_TOP = 6;
0471:
0472: /**
0473: * A value to be used with the "Orientation" tag.
0474: *
0475: * @see #TAG_ORIENTATION
0476: */
0477: public static final int ORIENTATION_ROW_0_RIGHT_COLUMN_0_BOTTOM = 7;
0478:
0479: /**
0480: * A value to be used with the "Orientation" tag.
0481: *
0482: * @see #TAG_ORIENTATION
0483: */
0484: public static final int ORIENTATION_ROW_0_LEFT_COLUMN_0_BOTTOM = 8;
0485:
0486: /**
0487: * Constant specifying the "Samples_per_pixel" tag.
0488: */
0489: public static final int TAG_SAMPLES_PER_PIXEL = 277;
0490:
0491: /**
0492: * Constant specifying the "Rows_per_strip" tag.
0493: */
0494: public static final int TAG_ROWS_PER_STRIP = 278;
0495:
0496: /**
0497: * Constant specifying the "Strip_byte_counts" tag.
0498: */
0499: public static final int TAG_STRIP_BYTE_COUNTS = 279;
0500:
0501: /**
0502: * Constant specifying the "Min_sample_value" tag.
0503: */
0504: public static final int TAG_MIN_SAMPLE_VALUE = 280;
0505:
0506: /**
0507: * Constant specifying the "Max_sample_value" tag.
0508: */
0509: public static final int TAG_MAX_SAMPLE_VALUE = 281;
0510:
0511: /**
0512: * Constant specifying the "XResolution" tag.
0513: */
0514: public static final int TAG_X_RESOLUTION = 282;
0515:
0516: /**
0517: * Constant specifying the "YResolution" tag.
0518: */
0519: public static final int TAG_Y_RESOLUTION = 283;
0520:
0521: /**
0522: * Constant specifying the "PlanarConfiguration" tag.
0523: *
0524: * @see #PLANAR_CONFIGURATION_CHUNKY
0525: * @see #PLANAR_CONFIGURATION_PLANAR
0526: */
0527: public static final int TAG_PLANAR_CONFIGURATION = 284;
0528:
0529: /**
0530: * A value to be used with the "PlanarConfiguration" tag.
0531: *
0532: * @see #TAG_PLANAR_CONFIGURATION
0533: */
0534: public static final int PLANAR_CONFIGURATION_CHUNKY = 1;
0535:
0536: /**
0537: * A value to be used with the "PlanarConfiguration" tag.
0538: *
0539: * @see #TAG_PLANAR_CONFIGURATION
0540: */
0541: public static final int PLANAR_CONFIGURATION_PLANAR = 2;
0542:
0543: /**
0544: * Constant specifying the "PageName" tag.
0545: */
0546: public static final int TAG_PAGE_NAME = 285;
0547:
0548: /**
0549: * Constant specifying the "XPosition" tag.
0550: */
0551: public static final int TAG_X_POSITION = 286;
0552:
0553: /**
0554: * Constant specifying the "YPosition" tag.
0555: */
0556: public static final int TAG_Y_POSITION = 287;
0557:
0558: /**
0559: * Constant specifying the "FreeOffsets" tag.
0560: */
0561: public static final int TAG_FREE_OFFSETS = 288;
0562:
0563: /**
0564: * Constant specifying the "FreeByteCounts" tag.
0565: */
0566: public static final int TAG_FREE_BYTE_COUNTS = 289;
0567:
0568: /**
0569: * Constant specifying the "GrayResponseUnit" tag.
0570: *
0571: * @see #GRAY_RESPONSE_UNIT_TENTHS
0572: * @see #GRAY_RESPONSE_UNIT_HUNDREDTHS
0573: * @see #GRAY_RESPONSE_UNIT_THOUSANDTHS
0574: * @see #GRAY_RESPONSE_UNIT_TEN_THOUSANDTHS
0575: * @see #GRAY_RESPONSE_UNIT_HUNDRED_THOUSANDTHS
0576: */
0577: public static final int TAG_GRAY_RESPONSE_UNIT = 290;
0578:
0579: /**
0580: * A value to be used with the "GrayResponseUnit" tag.
0581: *
0582: * @see #TAG_GRAY_RESPONSE_UNIT
0583: */
0584: public static final int GRAY_RESPONSE_UNIT_TENTHS = 1;
0585:
0586: /**
0587: * A value to be used with the "GrayResponseUnit" tag.
0588: *
0589: * @see #TAG_GRAY_RESPONSE_UNIT
0590: */
0591: public static final int GRAY_RESPONSE_UNIT_HUNDREDTHS = 2;
0592:
0593: /**
0594: * A value to be used with the "GrayResponseUnit" tag.
0595: *
0596: * @see #TAG_GRAY_RESPONSE_UNIT
0597: */
0598: public static final int GRAY_RESPONSE_UNIT_THOUSANDTHS = 3;
0599:
0600: /**
0601: * A value to be used with the "GrayResponseUnit" tag.
0602: *
0603: * @see #TAG_GRAY_RESPONSE_UNIT
0604: */
0605: public static final int GRAY_RESPONSE_UNIT_TEN_THOUSANDTHS = 4;
0606:
0607: /**
0608: * A value to be used with the "GrayResponseUnit" tag.
0609: *
0610: * @see #TAG_GRAY_RESPONSE_UNIT
0611: */
0612: public static final int GRAY_RESPONSE_UNIT_HUNDRED_THOUSANDTHS = 5;
0613:
0614: /**
0615: * Constant specifying the "GrayResponseCurve" tag.
0616: */
0617: public static final int TAG_GRAY_RESPONSE_CURVE = 291;
0618:
0619: /**
0620: * Constant specifying the "T4Options" tag.
0621: *
0622: * @see #T4_OPTIONS_2D_CODING
0623: * @see #T4_OPTIONS_UNCOMPRESSED
0624: * @see #T4_OPTIONS_EOL_BYTE_ALIGNED
0625: */
0626: public static final int TAG_T4_OPTIONS = 292;
0627:
0628: /**
0629: * A mask to be used with the "T4Options" tag.
0630: *
0631: * @see #TAG_T4_OPTIONS
0632: */
0633: public static final int T4_OPTIONS_2D_CODING = 1;
0634:
0635: /**
0636: * A mask to be used with the "T4Options" tag.
0637: *
0638: * @see #TAG_T4_OPTIONS
0639: */
0640: public static final int T4_OPTIONS_UNCOMPRESSED = 2;
0641:
0642: /**
0643: * A mask to be used with the "T4Options" tag.
0644: *
0645: * @see #TAG_T4_OPTIONS
0646: */
0647: public static final int T4_OPTIONS_EOL_BYTE_ALIGNED = 4;
0648:
0649: /**
0650: * Constant specifying the "T6Options" tag.
0651: *
0652: * @see #T6_OPTIONS_UNCOMPRESSED
0653: */
0654: public static final int TAG_T6_OPTIONS = 293;
0655:
0656: /**
0657: * A mask to be used with the "T6Options" tag.
0658: *
0659: * @see #TAG_T6_OPTIONS
0660: */
0661: public static final int T6_OPTIONS_UNCOMPRESSED = 2;
0662:
0663: /**
0664: * Constant specifying the "ResolutionUnit" tag.
0665: *
0666: * @see #RESOLUTION_UNIT_NONE
0667: * @see #RESOLUTION_UNIT_INCH
0668: * @see #RESOLUTION_UNIT_CENTIMETER
0669: */
0670: public static final int TAG_RESOLUTION_UNIT = 296;
0671:
0672: /**
0673: * A value to be used with the "ResolutionUnit" tag.
0674: *
0675: * @see #TAG_RESOLUTION_UNIT
0676: */
0677: public static final int RESOLUTION_UNIT_NONE = 1;
0678:
0679: /**
0680: * A value to be used with the "ResolutionUnit" tag.
0681: *
0682: * @see #TAG_RESOLUTION_UNIT
0683: */
0684: public static final int RESOLUTION_UNIT_INCH = 2;
0685:
0686: /**
0687: * A value to be used with the "ResolutionUnit" tag.
0688: *
0689: * @see #TAG_RESOLUTION_UNIT
0690: */
0691: public static final int RESOLUTION_UNIT_CENTIMETER = 3;
0692:
0693: /**
0694: * Constant specifying the "PageNumber" tag.
0695: */
0696: public static final int TAG_PAGE_NUMBER = 297;
0697:
0698: /**
0699: * Constant specifying the "TransferFunction" tag.
0700: */
0701: public static final int TAG_TRANSFER_FUNCTION = 301;
0702:
0703: /**
0704: * Constant specifying the "Software" tag.
0705: */
0706: public static final int TAG_SOFTWARE = 305;
0707:
0708: /**
0709: * Constant specifying the "DateTime" tag.
0710: */
0711: public static final int TAG_DATE_TIME = 306;
0712:
0713: /**
0714: * Constant specifying the "Artist" tag.
0715: */
0716: public static final int TAG_ARTIST = 315;
0717:
0718: /**
0719: * Constant specifying the "HostComputer" tag.
0720: */
0721: public static final int TAG_HOST_COMPUTER = 316;
0722:
0723: /**
0724: * Constant specifying the "Predictor" tag.
0725: *
0726: * @see #TAG_WHITE_POINT
0727: * @see #TAG_PRIMARY_CHROMATICITES
0728: * @see #TAG_COLOR_MAP
0729: * @see #TAG_HALFTONE_HINTS
0730: * @see #TAG_TILE_WIDTH
0731: * @see #TAG_TILE_LENGTH
0732: * @see #TAG_TILE_OFFSETS
0733: * @see #TAG_TILE_BYTE_COUNTS
0734: */
0735: public static final int TAG_PREDICTOR = 317;
0736:
0737: /**
0738: * A value to be used with the "Predictor" tag.
0739: *
0740: * @see #TAG_PREDICTOR
0741: */
0742: public static final int PREDICTOR_NONE = 1;
0743:
0744: /**
0745: * A value to be used with the "Predictor" tag.
0746: *
0747: * @see #TAG_PREDICTOR
0748: */
0749: public static final int PREDICTOR_HORIZONTAL_DIFFERENCING = 2;
0750:
0751: /**
0752: * Constant specifying the "WhitePoint" tag.
0753: */
0754: public static final int TAG_WHITE_POINT = 318;
0755:
0756: /**
0757: * Constant specifying the "PrimaryChromaticites" tag.
0758: */
0759: public static final int TAG_PRIMARY_CHROMATICITES = 319;
0760:
0761: /**
0762: * Constant specifying the "ColorMap" tag.
0763: */
0764: public static final int TAG_COLOR_MAP = 320;
0765:
0766: /**
0767: * Constant specifying the "HalftoneHints" tag.
0768: */
0769: public static final int TAG_HALFTONE_HINTS = 321;
0770:
0771: /**
0772: * Constant specifying the "TileWidth" tag.
0773: */
0774: public static final int TAG_TILE_WIDTH = 322;
0775:
0776: /**
0777: * Constant specifying the "TileLength" tag.
0778: */
0779: public static final int TAG_TILE_LENGTH = 323;
0780:
0781: /**
0782: * Constant specifying the "TileOffsets" tag.
0783: */
0784: public static final int TAG_TILE_OFFSETS = 324;
0785:
0786: /**
0787: * Constant specifying the "TileByteCounts" tag.
0788: */
0789: public static final int TAG_TILE_BYTE_COUNTS = 325;
0790:
0791: /**
0792: * Constant specifying the "InkSet" tag.
0793: *
0794: * @see #INK_SET_CMYK
0795: * @see #INK_SET_NOT_CMYK
0796: */
0797: public static final int TAG_INK_SET = 332;
0798:
0799: /**
0800: * A value to be used with the "InkSet" tag.
0801: *
0802: * @see #TAG_INK_SET
0803: */
0804: public static final int INK_SET_CMYK = 1;
0805:
0806: /**
0807: * A value to be used with the "InkSet" tag.
0808: *
0809: * @see #TAG_INK_SET
0810: */
0811: public static final int INK_SET_NOT_CMYK = 2;
0812:
0813: /**
0814: * Constant specifying the "InkNames" tag.
0815: */
0816: public static final int TAG_INK_NAMES = 333;
0817:
0818: /**
0819: * Constant specifying the "NumberOfInks" tag.
0820: */
0821: public static final int TAG_NUMBER_OF_INKS = 334;
0822:
0823: /**
0824: * Constant specifying the "DotRange" tag.
0825: */
0826: public static final int TAG_DOT_RANGE = 336;
0827:
0828: /**
0829: * Constant specifying the "TargetPrinter" tag.
0830: */
0831: public static final int TAG_TARGET_PRINTER = 337;
0832:
0833: /**
0834: * Constant specifying the "ExtraSamples" tag.
0835: *
0836: * @see #EXTRA_SAMPLES_UNSPECIFIED
0837: * @see #EXTRA_SAMPLES_ASSOCIATED_ALPHA
0838: * @see #EXTRA_SAMPLES_UNASSOCIATED_ALPHA
0839: */
0840: public static final int TAG_EXTRA_SAMPLES = 338;
0841:
0842: /**
0843: * A value to be used with the "ExtraSamples" tag.
0844: *
0845: * @see #TAG_EXTRA_SAMPLES
0846: */
0847: public static final int EXTRA_SAMPLES_UNSPECIFIED = 0;
0848:
0849: /**
0850: * A value to be used with the "ExtraSamples" tag.
0851: *
0852: * @see #TAG_EXTRA_SAMPLES
0853: */
0854: public static final int EXTRA_SAMPLES_ASSOCIATED_ALPHA = 1;
0855:
0856: /**
0857: * A value to be used with the "ExtraSamples" tag.
0858: *
0859: * @see #TAG_EXTRA_SAMPLES
0860: */
0861: public static final int EXTRA_SAMPLES_UNASSOCIATED_ALPHA = 2;
0862:
0863: /**
0864: * Constant specifying the "SampleFormat" tag.
0865: *
0866: * @see #SAMPLE_FORMAT_UNSIGNED_INTEGER
0867: * @see #SAMPLE_FORMAT_SIGNED_INTEGER
0868: * @see #SAMPLE_FORMAT_FLOATING_POINT
0869: * @see #SAMPLE_FORMAT_UNDEFINED
0870: */
0871: public static final int TAG_SAMPLE_FORMAT = 339;
0872:
0873: /**
0874: * A value to be used with the "SampleFormat" tag.
0875: *
0876: * @see #TAG_SAMPLE_FORMAT
0877: */
0878: public static final int SAMPLE_FORMAT_UNSIGNED_INTEGER = 1;
0879:
0880: /**
0881: * A value to be used with the "SampleFormat" tag.
0882: *
0883: * @see #TAG_SAMPLE_FORMAT
0884: */
0885: public static final int SAMPLE_FORMAT_SIGNED_INTEGER = 2;
0886:
0887: /**
0888: * A value to be used with the "SampleFormat" tag.
0889: *
0890: * @see #TAG_SAMPLE_FORMAT
0891: */
0892: public static final int SAMPLE_FORMAT_FLOATING_POINT = 3;
0893:
0894: /**
0895: * A value to be used with the "SampleFormat" tag.
0896: *
0897: * @see #TAG_SAMPLE_FORMAT
0898: */
0899: public static final int SAMPLE_FORMAT_UNDEFINED = 4;
0900:
0901: /**
0902: * Constant specifying the "SMinSampleValue" tag.
0903: */
0904: public static final int TAG_S_MIN_SAMPLE_VALUE = 340;
0905:
0906: /**
0907: * Constant specifying the "SMaxSampleValue" tag.
0908: */
0909: public static final int TAG_S_MAX_SAMPLE_VALUE = 341;
0910:
0911: /**
0912: * Constant specifying the "TransferRange" tag.
0913: */
0914: public static final int TAG_TRANSFER_RANGE = 342;
0915:
0916: /**
0917: * Constant specifying the "JPEGTables" tag.
0918: *
0919: * @see <a href="http://partners.adobe.com/public/developer/en/tiff/TIFFphotoshop.pdf">TIFF Specification Supplement 2</a>
0920: * @see <a href="ftp://ftp.sgi.com/graphics/tiff/TTN2.draft.txt">JPEG-in-TIFF compression</a>
0921: */
0922: public static final int TAG_JPEG_TABLES = 347;
0923:
0924: /**
0925: * Constant specifying the "JPEGProc" tag.
0926: */
0927: public static final int TAG_JPEG_PROC = 512;
0928:
0929: /**
0930: * A value to be used with the "JPEGProc" tag.
0931: *
0932: * @see #TAG_JPEG_PROC
0933: */
0934: public static final int JPEG_PROC_BASELINE = 1;
0935:
0936: /**
0937: * A value to be used with the "JPEGProc" tag.
0938: *
0939: * @see #TAG_JPEG_PROC
0940: */
0941: public static final int JPEG_PROC_LOSSLESS = 14;
0942:
0943: /**
0944: * Constant specifying the "JPEGInterchangeFormat" tag.
0945: */
0946: public static final int TAG_JPEG_INTERCHANGE_FORMAT = 513;
0947:
0948: /**
0949: * Constant specifying the "JPEGInterchangeFormatLength" tag.
0950: */
0951: public static final int TAG_JPEG_INTERCHANGE_FORMAT_LENGTH = 514;
0952:
0953: /**
0954: * Constant specifying the "JPEGRestartInterval" tag.
0955: */
0956: public static final int TAG_JPEG_RESTART_INTERVAL = 515;
0957:
0958: /**
0959: * Constant specifying the "JPEGLosslessPredictors" tag.
0960: */
0961: public static final int TAG_JPEG_LOSSLESS_PREDICTORS = 517;
0962:
0963: /**
0964: * Constant specifying the "JPEGPointTransforms" tag.
0965: */
0966: public static final int TAG_JPEG_POINT_TRANSFORMS = 518;
0967:
0968: /**
0969: * Constant specifying the "JPEGQTables" tag.
0970: */
0971: public static final int TAG_JPEG_Q_TABLES = 519;
0972:
0973: /**
0974: * Constant specifying the "JPEGDCTables" tag.
0975: */
0976: public static final int TAG_JPEG_DC_TABLES = 520;
0977:
0978: /**
0979: * Constant specifying the "JPEGACTables" tag.
0980: */
0981: public static final int TAG_JPEG_AC_TABLES = 521;
0982:
0983: /**
0984: * Constant specifying the "YCbCrCoefficients" tag.
0985: */
0986: public static final int TAG_Y_CB_CR_COEFFICIENTS = 529;
0987:
0988: /**
0989: * Constant specifying the "YCbCrSubsampling" tag.
0990: */
0991: public static final int TAG_Y_CB_CR_SUBSAMPLING = 530;
0992:
0993: /**
0994: * Constant specifying the "YCbCrPositioning" tag.
0995: *
0996: * @see #Y_CB_CR_POSITIONING_CENTERED
0997: * @see #Y_CB_CR_POSITIONING_COSITED
0998: */
0999: public static final int TAG_Y_CB_CR_POSITIONING = 531;
1000:
1001: /**
1002: * A value to be used with the "YCbCrPositioning" tag.
1003: *
1004: * @see #TAG_Y_CB_CR_POSITIONING
1005: */
1006: public static final int Y_CB_CR_POSITIONING_CENTERED = 1;
1007:
1008: /**
1009: * A value to be used with the "YCbCrPositioning" tag.
1010: *
1011: * @see #TAG_Y_CB_CR_POSITIONING
1012: */
1013: public static final int Y_CB_CR_POSITIONING_COSITED = 2;
1014:
1015: /**
1016: * Constant specifying the "ReferenceBlackWhite" tag.
1017: */
1018: public static final int TAG_REFERENCE_BLACK_WHITE = 532;
1019:
1020: /**
1021: * Constant specifying the "Copyright" tag.
1022: */
1023: public static final int TAG_COPYRIGHT = 33432;
1024:
1025: // Common non-baseline tags
1026:
1027: // ICC profiles (Spec ICC 1:2001-04, Appendix B)
1028:
1029: // 34675 - Embedded ICC Profile (UNDEFINED/any)
1030:
1031: /**
1032: * Constant specifying the "ICC Profile" tag.
1033: *
1034: * @see <a href="http://www.color.org/ICC1V42.pdf">ICC Specification, section B.4: Embedding ICC profiles in TIFF files</a>
1035: */
1036: public static final int TAG_ICC_PROFILE = 34675;
1037:
1038: // Artist
1039:
1040: static class Artist extends TIFFTag {
1041:
1042: public Artist() {
1043: super ("Artist", TAG_ARTIST, 1 << TIFF_ASCII);
1044: }
1045: }
1046:
1047: // BitsPerSample
1048:
1049: static class BitsPerSample extends TIFFTag {
1050:
1051: public BitsPerSample() {
1052: super ("BitsPerSample", TAG_BITS_PER_SAMPLE, 1 << TIFF_SHORT);
1053: }
1054: }
1055:
1056: // CellLength
1057:
1058: static class CellLength extends TIFFTag {
1059:
1060: public CellLength() {
1061: super ("CellLength", TAG_CELL_LENGTH, 1 << TIFF_SHORT);
1062: }
1063: }
1064:
1065: // CellWidth tag
1066:
1067: static class CellWidth extends TIFFTag {
1068:
1069: public CellWidth() {
1070: super ("CellWidth", TAG_CELL_WIDTH, 1 << TIFF_SHORT);
1071: }
1072: }
1073:
1074: // ColorMap
1075:
1076: static class ColorMap extends TIFFTag {
1077:
1078: public ColorMap() {
1079: super ("ColorMap", TAG_COLOR_MAP, 1 << TIFF_SHORT);
1080: }
1081: }
1082:
1083: // Compression
1084:
1085: static class Compression extends TIFFTag {
1086:
1087: public Compression() {
1088: super ("Compression", TAG_COMPRESSION, 1 << TIFF_SHORT);
1089:
1090: addValueName(COMPRESSION_NONE, "Uncompressed");
1091: addValueName(COMPRESSION_CCITT_RLE, "CCITT RLE");
1092: addValueName(COMPRESSION_CCITT_T_4, "CCITT T.4");
1093: addValueName(COMPRESSION_CCITT_T_6, "CCITT T.6");
1094: addValueName(COMPRESSION_LZW, "LZW");
1095: addValueName(COMPRESSION_OLD_JPEG, "Old JPEG");
1096: addValueName(COMPRESSION_JPEG, "JPEG");
1097: addValueName(COMPRESSION_ZLIB, "ZLib");
1098: addValueName(COMPRESSION_PACKBITS, "PackBits");
1099: addValueName(COMPRESSION_DEFLATE, "Deflate"); // Non-baseline
1100:
1101: // 32771 CCITT
1102: // 32809 ThunderScan
1103: // 32766 NeXT
1104: // 32909 Pixar
1105: // 34676 SGI
1106: // 34677 SGI
1107: }
1108: }
1109:
1110: // Copyright
1111:
1112: static class Copyright extends TIFFTag {
1113:
1114: public Copyright() {
1115: super ("Copyright", TAG_COPYRIGHT, 1 << TIFF_ASCII);
1116: }
1117: }
1118:
1119: // DateTime
1120:
1121: static class DateTime extends TIFFTag {
1122:
1123: public DateTime() {
1124: super ("DateTime", TAG_DATE_TIME, 1 << TIFF_ASCII);
1125: }
1126: }
1127:
1128: // DocumentName
1129:
1130: static class DocumentName extends TIFFTag {
1131:
1132: public DocumentName() {
1133: super ("DocumentName", TAG_DOCUMENT_NAME, 1 << TIFF_ASCII);
1134: }
1135: }
1136:
1137: // DotRange
1138:
1139: static class DotRange extends TIFFTag {
1140:
1141: public DotRange() {
1142: super ("DotRange", TAG_DOT_RANGE, (1 << TIFF_BYTE)
1143: | (1 << TIFF_SHORT));
1144: }
1145: }
1146:
1147: // ExtraSamples
1148:
1149: static class ExtraSamples extends TIFFTag {
1150:
1151: public ExtraSamples() {
1152: super ("ExtraSamples", TAG_EXTRA_SAMPLES, 1 << TIFF_SHORT);
1153:
1154: addValueName(EXTRA_SAMPLES_UNSPECIFIED, "Unspecified");
1155: addValueName(EXTRA_SAMPLES_ASSOCIATED_ALPHA,
1156: "Associated Alpha");
1157: addValueName(EXTRA_SAMPLES_UNASSOCIATED_ALPHA,
1158: "Unassociated Alpha");
1159: }
1160: }
1161:
1162: // FillOrder
1163:
1164: static class FillOrder extends TIFFTag {
1165:
1166: public FillOrder() {
1167: super ("FillOrder", TAG_FILL_ORDER, 1 << TIFF_SHORT);
1168:
1169: addValueName(FILL_ORDER_LEFT_TO_RIGHT, "LeftToRight");
1170: addValueName(FILL_ORDER_RIGHT_TO_LEFT, "RightToLeft");
1171: }
1172: }
1173:
1174: // FreeByteCounts
1175:
1176: static class FreeByteCounts extends TIFFTag {
1177:
1178: public FreeByteCounts() {
1179: super ("FreeByteCounts", TAG_FREE_BYTE_COUNTS,
1180: 1 << TIFF_LONG);
1181: }
1182: }
1183:
1184: // FreeOffsets
1185:
1186: static class FreeOffsets extends TIFFTag {
1187:
1188: public FreeOffsets() {
1189: super ("FreeOffsets", TAG_FREE_OFFSETS, 1 << TIFF_LONG);
1190: }
1191: }
1192:
1193: // GrayResponseCurve
1194:
1195: static class GrayResponseCurve extends TIFFTag {
1196:
1197: public GrayResponseCurve() {
1198: super ("GrayResponseCurve", TAG_GRAY_RESPONSE_CURVE,
1199: 1 << TIFF_SHORT);
1200: }
1201: }
1202:
1203: // GrayResponseUnit
1204:
1205: static class GrayResponseUnit extends TIFFTag {
1206:
1207: public GrayResponseUnit() {
1208: super ("GrayResponseUnit", TAG_GRAY_RESPONSE_UNIT,
1209: 1 << TIFF_SHORT);
1210:
1211: addValueName(GRAY_RESPONSE_UNIT_TENTHS, "Tenths");
1212: addValueName(GRAY_RESPONSE_UNIT_HUNDREDTHS, "Hundredths");
1213: addValueName(GRAY_RESPONSE_UNIT_THOUSANDTHS, "Thousandths");
1214: addValueName(GRAY_RESPONSE_UNIT_TEN_THOUSANDTHS,
1215: "Ten-Thousandths");
1216: addValueName(GRAY_RESPONSE_UNIT_HUNDRED_THOUSANDTHS,
1217: "Hundred-Thousandths");
1218: }
1219: }
1220:
1221: // HalftoneHints
1222:
1223: static class HalftoneHints extends TIFFTag {
1224:
1225: public HalftoneHints() {
1226: super ("HalftoneHints", TAG_HALFTONE_HINTS, 1 << TIFF_SHORT);
1227: }
1228: }
1229:
1230: // HostComputer
1231:
1232: static class HostComputer extends TIFFTag {
1233:
1234: public HostComputer() {
1235: super ("HostComputer", TAG_HOST_COMPUTER, 1 << TIFF_ASCII);
1236: }
1237: }
1238:
1239: // ImageDescription
1240:
1241: static class ImageDescription extends TIFFTag {
1242:
1243: public ImageDescription() {
1244: super ("ImageDescription", TAG_IMAGE_DESCRIPTION,
1245: 1 << TIFF_ASCII);
1246: }
1247: }
1248:
1249: // ImageLength tag
1250:
1251: static class ImageLength extends TIFFTag {
1252:
1253: public ImageLength() {
1254: super ("ImageLength", TAG_IMAGE_LENGTH, (1 << TIFF_SHORT)
1255: | (1 << TIFF_LONG));
1256: }
1257: }
1258:
1259: // ImageWidth tag
1260:
1261: static class ImageWidth extends TIFFTag {
1262:
1263: public ImageWidth() {
1264: super ("ImageWidth", TAG_IMAGE_WIDTH, (1 << TIFF_SHORT)
1265: | (1 << TIFF_LONG));
1266: }
1267: }
1268:
1269: // InkNames
1270:
1271: static class InkNames extends TIFFTag {
1272:
1273: public InkNames() {
1274: super ("InkNames", TAG_INK_NAMES, 1 << TIFF_ASCII);
1275: }
1276: }
1277:
1278: // InkSet
1279:
1280: static class InkSet extends TIFFTag {
1281:
1282: public InkSet() {
1283: super ("InkSet", TAG_INK_SET, 1 << TIFF_SHORT);
1284:
1285: addValueName(INK_SET_CMYK, "CMYK");
1286: addValueName(INK_SET_NOT_CMYK, "Not CMYK");
1287: }
1288: }
1289:
1290: // JPEGTables (Tech note)
1291:
1292: static class JPEGTables extends TIFFTag {
1293:
1294: public JPEGTables() {
1295: super ("JPEGTables", TAG_JPEG_TABLES, 1 << TIFF_UNDEFINED);
1296: }
1297: }
1298:
1299: // JPEGACTables
1300:
1301: static class JPEGACTables extends TIFFTag {
1302:
1303: public JPEGACTables() {
1304: super ("JPEGACTables", TAG_JPEG_AC_TABLES, 1 << TIFF_LONG);
1305: }
1306: }
1307:
1308: // JPEGDCTables
1309:
1310: static class JPEGDCTables extends TIFFTag {
1311:
1312: public JPEGDCTables() {
1313: super ("JPEGDCTables", TAG_JPEG_DC_TABLES, 1 << TIFF_LONG);
1314: }
1315: }
1316:
1317: // JPEGInterchangeFormat
1318:
1319: static class JPEGInterchangeFormat extends TIFFTag {
1320:
1321: public JPEGInterchangeFormat() {
1322: super ("JPEGInterchangeFormat", TAG_JPEG_INTERCHANGE_FORMAT,
1323: 1 << TIFF_LONG);
1324: }
1325: }
1326:
1327: // JPEGInterchangeFormatLength
1328:
1329: static class JPEGInterchangeFormatLength extends TIFFTag {
1330:
1331: public JPEGInterchangeFormatLength() {
1332: super ("JPEGInterchangeFormatLength",
1333: TAG_JPEG_INTERCHANGE_FORMAT_LENGTH, 1 << TIFF_LONG);
1334: }
1335: }
1336:
1337: // JPEGLosslessPredictors
1338:
1339: static class JPEGLosslessPredictors extends TIFFTag {
1340:
1341: public JPEGLosslessPredictors() {
1342: super ("JPEGLosslessPredictors",
1343: TAG_JPEG_LOSSLESS_PREDICTORS, 1 << TIFF_SHORT);
1344:
1345: addValueName(1, "A");
1346: addValueName(2, "B");
1347: addValueName(3, "C");
1348: addValueName(4, "A+B-C");
1349: addValueName(5, "A+((B-C)/2)");
1350: addValueName(6, "B+((A-C)/2)");
1351: addValueName(7, "(A+B)/2");
1352: }
1353: }
1354:
1355: // JPEGPointTransforms
1356:
1357: static class JPEGPointTransforms extends TIFFTag {
1358:
1359: public JPEGPointTransforms() {
1360: super ("JPEGPointTransforms", TAG_JPEG_POINT_TRANSFORMS,
1361: 1 << TIFF_SHORT);
1362: }
1363: }
1364:
1365: // JPEGProc
1366:
1367: static class JPEGProc extends TIFFTag {
1368:
1369: public JPEGProc() {
1370: super ("JPEGProc", TAG_JPEG_PROC, 1 << TIFF_SHORT);
1371:
1372: addValueName(JPEG_PROC_BASELINE,
1373: "Baseline sequential process");
1374: addValueName(JPEG_PROC_LOSSLESS,
1375: "Lossless process with Huffman coding");
1376: }
1377: }
1378:
1379: // JPEGQTables
1380:
1381: static class JPEGQTables extends TIFFTag {
1382:
1383: public JPEGQTables() {
1384: super ("JPEGQTables", TAG_JPEG_Q_TABLES, 1 << TIFF_LONG);
1385: }
1386: }
1387:
1388: // JPEGRestartInterval
1389:
1390: static class JPEGRestartInterval extends TIFFTag {
1391:
1392: public JPEGRestartInterval() {
1393: super ("JPEGRestartInterval", TAG_JPEG_RESTART_INTERVAL,
1394: 1 << TIFF_SHORT);
1395: }
1396: }
1397:
1398: // Make
1399:
1400: static class Make extends TIFFTag {
1401:
1402: public Make() {
1403: super ("Make", TAG_MAKE, 1 << TIFF_ASCII);
1404: }
1405: }
1406:
1407: // MaxSampleValue
1408:
1409: static class MaxSampleValue extends TIFFTag {
1410:
1411: public MaxSampleValue() {
1412: super ("MaxSampleValue", TAG_MAX_SAMPLE_VALUE,
1413: 1 << TIFF_SHORT);
1414: }
1415: }
1416:
1417: // MinSampleValue
1418:
1419: static class MinSampleValue extends TIFFTag {
1420:
1421: public MinSampleValue() {
1422: super ("MinSampleValue", TAG_MIN_SAMPLE_VALUE,
1423: 1 << TIFF_SHORT);
1424: }
1425: }
1426:
1427: // Model
1428:
1429: static class Model extends TIFFTag {
1430:
1431: public Model() {
1432: super ("Model", TAG_MODEL, 1 << TIFF_ASCII);
1433: }
1434: }
1435:
1436: // NewSubfileType
1437:
1438: static class NewSubfileType extends TIFFTag {
1439:
1440: public NewSubfileType() {
1441: super ("NewSubfileType", TAG_NEW_SUBFILE_TYPE,
1442: 1 << TIFF_LONG);
1443:
1444: addValueName(0, "Default");
1445: addValueName(NEW_SUBFILE_TYPE_REDUCED_RESOLUTION,
1446: "ReducedResolution");
1447: addValueName(NEW_SUBFILE_TYPE_SINGLE_PAGE, "SinglePage");
1448: addValueName(NEW_SUBFILE_TYPE_SINGLE_PAGE
1449: | NEW_SUBFILE_TYPE_REDUCED_RESOLUTION,
1450: "SinglePage+ReducedResolution");
1451: addValueName(NEW_SUBFILE_TYPE_TRANSPARENCY, "Transparency");
1452: addValueName(NEW_SUBFILE_TYPE_TRANSPARENCY
1453: | NEW_SUBFILE_TYPE_REDUCED_RESOLUTION,
1454: "Transparency+ReducedResolution");
1455: addValueName(NEW_SUBFILE_TYPE_TRANSPARENCY
1456: | NEW_SUBFILE_TYPE_SINGLE_PAGE,
1457: "Transparency+SinglePage");
1458: addValueName(NEW_SUBFILE_TYPE_TRANSPARENCY
1459: | NEW_SUBFILE_TYPE_SINGLE_PAGE
1460: | NEW_SUBFILE_TYPE_REDUCED_RESOLUTION,
1461: "Transparency+SinglePage+ReducedResolution");
1462: }
1463: }
1464:
1465: // NumberOfInks
1466:
1467: static class NumberOfInks extends TIFFTag {
1468:
1469: public NumberOfInks() {
1470: super ("NumberOfInks", TAG_NUMBER_OF_INKS, 1 << TIFF_SHORT);
1471: }
1472: }
1473:
1474: // Orientation
1475:
1476: static class Orientation extends TIFFTag {
1477:
1478: public Orientation() {
1479: super ("Orientation", TAG_ORIENTATION, 1 << TIFF_SHORT);
1480:
1481: addValueName(ORIENTATION_ROW_0_TOP_COLUMN_0_LEFT,
1482: "Row 0=Top, Column 0=Left");
1483: addValueName(ORIENTATION_ROW_0_TOP_COLUMN_0_RIGHT,
1484: "Row 0=Top, Column 0=Right");
1485: addValueName(ORIENTATION_ROW_0_BOTTOM_COLUMN_0_RIGHT,
1486: "Row 0=Bottom, Column 0=Right");
1487: addValueName(ORIENTATION_ROW_0_BOTTOM_COLUMN_0_LEFT,
1488: "Row 0=Bottom, Column 0=Left");
1489: addValueName(ORIENTATION_ROW_0_LEFT_COLUMN_0_TOP,
1490: "Row 0=Left, Column 0=Top");
1491: addValueName(ORIENTATION_ROW_0_RIGHT_COLUMN_0_TOP,
1492: "Row 0=Right, Column 0=Top");
1493: addValueName(ORIENTATION_ROW_0_RIGHT_COLUMN_0_BOTTOM,
1494: "Row 0=Right, Column 0=Bottom");
1495: }
1496: }
1497:
1498: // PageName
1499:
1500: static class PageName extends TIFFTag {
1501:
1502: public PageName() {
1503: super ("PageName", TAG_PAGE_NAME, 1 << TIFF_ASCII);
1504: }
1505: }
1506:
1507: // PageNumber
1508:
1509: static class PageNumber extends TIFFTag {
1510:
1511: public PageNumber() {
1512: super ("PageNumber", TAG_PAGE_NUMBER, 1 << TIFF_SHORT);
1513: }
1514: }
1515:
1516: // PhotometricInterpretation
1517:
1518: static class PhotometricInterpretation extends TIFFTag {
1519:
1520: public PhotometricInterpretation() {
1521: super ("PhotometricInterpretation",
1522: TAG_PHOTOMETRIC_INTERPRETATION, 1 << TIFF_SHORT);
1523:
1524: addValueName(PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO,
1525: "WhiteIsZero");
1526: addValueName(PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO,
1527: "BlackIsZero");
1528: addValueName(PHOTOMETRIC_INTERPRETATION_RGB, "RGB");
1529: addValueName(PHOTOMETRIC_INTERPRETATION_PALETTE_COLOR,
1530: "Palette Color");
1531: addValueName(PHOTOMETRIC_INTERPRETATION_TRANSPARENCY_MASK,
1532: "Transparency Mask");
1533: addValueName(PHOTOMETRIC_INTERPRETATION_CMYK, "CMYK");
1534: addValueName(PHOTOMETRIC_INTERPRETATION_Y_CB_CR, "YCbCr");
1535: addValueName(PHOTOMETRIC_INTERPRETATION_CIELAB, "CIELAB");
1536: addValueName(PHOTOMETRIC_INTERPRETATION_ICCLAB, "ICCLAB"); // Non-baseline
1537: }
1538: }
1539:
1540: // PlanarConfiguration
1541:
1542: static class PlanarConfiguration extends TIFFTag {
1543:
1544: public PlanarConfiguration() {
1545: super ("PlanarConfiguration", TAG_PLANAR_CONFIGURATION,
1546: 1 << TIFF_SHORT);
1547:
1548: addValueName(PLANAR_CONFIGURATION_CHUNKY, "Chunky");
1549: addValueName(PLANAR_CONFIGURATION_PLANAR, "Planar");
1550: }
1551: }
1552:
1553: // Predictor
1554:
1555: static class Predictor extends TIFFTag {
1556:
1557: public Predictor() {
1558: super ("Predictor", TAG_PREDICTOR, 1 << TIFF_SHORT);
1559:
1560: addValueName(PREDICTOR_NONE, "None");
1561: addValueName(PREDICTOR_HORIZONTAL_DIFFERENCING,
1562: "Horizontal Differencing");
1563: }
1564: }
1565:
1566: // PrimaryChromaticities
1567:
1568: static class PrimaryChromaticities extends TIFFTag {
1569:
1570: public PrimaryChromaticities() {
1571: super ("PrimaryChromaticities", TAG_PRIMARY_CHROMATICITES,
1572: 1 << TIFF_RATIONAL);
1573: }
1574: }
1575:
1576: // ReferenceBlackWhite
1577:
1578: static class ReferenceBlackWhite extends TIFFTag {
1579:
1580: public ReferenceBlackWhite() {
1581: super ("ReferenceBlackWhite", TAG_REFERENCE_BLACK_WHITE,
1582: 1 << TIFF_RATIONAL);
1583: }
1584: }
1585:
1586: // ResolutionUnit
1587:
1588: static class ResolutionUnit extends TIFFTag {
1589:
1590: public ResolutionUnit() {
1591: super ("ResolutionUnit", TAG_RESOLUTION_UNIT,
1592: 1 << TIFF_SHORT);
1593:
1594: addValueName(RESOLUTION_UNIT_NONE, "None");
1595: addValueName(RESOLUTION_UNIT_INCH, "Inch");
1596: addValueName(RESOLUTION_UNIT_CENTIMETER, "Centimeter");
1597: }
1598: }
1599:
1600: // RowsPerStrip
1601:
1602: static class RowsPerStrip extends TIFFTag {
1603:
1604: public RowsPerStrip() {
1605: super ("RowsPerStrip", TAG_ROWS_PER_STRIP, (1 << TIFF_SHORT)
1606: | (1 << TIFF_LONG));
1607: }
1608: }
1609:
1610: // SampleFormat
1611:
1612: static class SampleFormat extends TIFFTag {
1613:
1614: public SampleFormat() {
1615: super ("SampleFormat", TAG_SAMPLE_FORMAT, 1 << TIFF_SHORT);
1616:
1617: addValueName(SAMPLE_FORMAT_UNSIGNED_INTEGER,
1618: "Unsigned Integer");
1619: addValueName(SAMPLE_FORMAT_SIGNED_INTEGER, "Signed Integer");
1620: addValueName(SAMPLE_FORMAT_FLOATING_POINT, "Floating Point");
1621: addValueName(SAMPLE_FORMAT_UNDEFINED, "Undefined");
1622: }
1623: }
1624:
1625: // SamplesPerPixel
1626:
1627: static class SamplesPerPixel extends TIFFTag {
1628:
1629: public SamplesPerPixel() {
1630: super ("SamplesPerPixel", TAG_SAMPLES_PER_PIXEL,
1631: 1 << TIFF_SHORT);
1632: }
1633: }
1634:
1635: // SMaxSampleValue
1636:
1637: static class SMaxSampleValue extends TIFFTag {
1638:
1639: public SMaxSampleValue() {
1640: super ("SMaxSampleValue", TAG_S_MAX_SAMPLE_VALUE,
1641: (1 << TIFF_BYTE) | (1 << TIFF_SHORT)
1642: | (1 << TIFF_LONG) | (1 << TIFF_RATIONAL)
1643: | (1 << TIFF_SBYTE) | (1 << TIFF_SSHORT)
1644: | (1 << TIFF_SLONG) | (1 << TIFF_SRATIONAL)
1645: | (1 << TIFF_FLOAT) | (1 << TIFF_DOUBLE));
1646: }
1647: }
1648:
1649: // SMinSampleValue
1650:
1651: static class SMinSampleValue extends TIFFTag {
1652:
1653: public SMinSampleValue() {
1654: super ("SMinSampleValue", TAG_S_MIN_SAMPLE_VALUE,
1655: (1 << TIFF_BYTE) | (1 << TIFF_SHORT)
1656: | (1 << TIFF_LONG) | (1 << TIFF_RATIONAL)
1657: | (1 << TIFF_SBYTE) | (1 << TIFF_SSHORT)
1658: | (1 << TIFF_SLONG) | (1 << TIFF_SRATIONAL)
1659: | (1 << TIFF_FLOAT) | (1 << TIFF_DOUBLE));
1660: }
1661: }
1662:
1663: // Software
1664:
1665: static class Software extends TIFFTag {
1666:
1667: public Software() {
1668: super ("Software", TAG_SOFTWARE, 1 << TIFF_ASCII);
1669: }
1670: }
1671:
1672: // StripByteCounts
1673:
1674: static class StripByteCounts extends TIFFTag {
1675:
1676: public StripByteCounts() {
1677: super ("StripByteCounts", TAG_STRIP_BYTE_COUNTS,
1678: (1 << TIFF_SHORT) | (1 << TIFF_LONG));
1679: }
1680: }
1681:
1682: // StripOffsets
1683:
1684: static class StripOffsets extends TIFFTag {
1685:
1686: public StripOffsets() {
1687: super ("StripOffsets", TAG_STRIP_OFFSETS, (1 << TIFF_SHORT)
1688: | (1 << TIFF_LONG));
1689: }
1690: }
1691:
1692: // SubfileType (deprecated)
1693:
1694: static class SubfileType extends TIFFTag {
1695:
1696: public SubfileType() {
1697: super ("SubfileType", TAG_SUBFILE_TYPE, 1 << TIFF_SHORT);
1698:
1699: addValueName(SUBFILE_TYPE_FULL_RESOLUTION, "FullResolution");
1700: addValueName(SUBFILE_TYPE_REDUCED_RESOLUTION,
1701: "ReducedResolution");
1702: addValueName(SUBFILE_TYPE_SINGLE_PAGE, "SinglePage");
1703: }
1704: }
1705:
1706: // T4Options
1707:
1708: static class T4Options extends TIFFTag {
1709:
1710: public T4Options() {
1711: super ("T4Options", TAG_T4_OPTIONS, 1 << TIFF_LONG);
1712:
1713: addValueName(0, "Default 1DCoding"); // 0x00
1714: addValueName(T4_OPTIONS_2D_CODING, "2DCoding"); // 0x01
1715: addValueName(T4_OPTIONS_UNCOMPRESSED, "Uncompressed"); // 0x02
1716: addValueName(
1717: T4_OPTIONS_2D_CODING | T4_OPTIONS_UNCOMPRESSED,
1718: "2DCoding+Uncompressed"); // 0x03
1719: addValueName(T4_OPTIONS_EOL_BYTE_ALIGNED, "EOLByteAligned"); // 0x04
1720: addValueName(T4_OPTIONS_2D_CODING
1721: | T4_OPTIONS_EOL_BYTE_ALIGNED,
1722: "2DCoding+EOLByteAligned"); // 0x05
1723: addValueName(T4_OPTIONS_UNCOMPRESSED
1724: | T4_OPTIONS_EOL_BYTE_ALIGNED,
1725: "Uncompressed+EOLByteAligned"); // 0x06
1726: addValueName(T4_OPTIONS_2D_CODING | T4_OPTIONS_UNCOMPRESSED
1727: | T4_OPTIONS_EOL_BYTE_ALIGNED,
1728: "2DCoding+Uncompressed+EOLByteAligned"); // 0x07
1729: }
1730: }
1731:
1732: // T6Options
1733:
1734: static class T6Options extends TIFFTag {
1735:
1736: public T6Options() {
1737: super ("T6Options", TAG_T6_OPTIONS, 1 << TIFF_LONG);
1738:
1739: addValueName(0, "Default"); // 0x00
1740: // 0x01 is not possible as bit 0 is unused and always zero.
1741: addValueName(T6_OPTIONS_UNCOMPRESSED, "Uncompressed"); // 0x02
1742: }
1743: }
1744:
1745: // TargetPrinter
1746:
1747: static class TargetPrinter extends TIFFTag {
1748:
1749: public TargetPrinter() {
1750: super ("TargetPrinter", TAG_TARGET_PRINTER, 1 << TIFF_ASCII);
1751: }
1752: }
1753:
1754: // Threshholding
1755:
1756: static class Threshholding extends TIFFTag {
1757:
1758: public Threshholding() {
1759: super ("Threshholding", TAG_THRESHHOLDING, 1 << TIFF_SHORT);
1760:
1761: addValueName(1, "None");
1762: addValueName(2, "OrderedDither");
1763: addValueName(3, "RandomizedDither");
1764: }
1765: }
1766:
1767: // TileByteCounts
1768:
1769: static class TileByteCounts extends TIFFTag {
1770:
1771: public TileByteCounts() {
1772: super ("TileByteCounts", TAG_TILE_BYTE_COUNTS,
1773: (1 << TIFF_SHORT) | (1 << TIFF_LONG));
1774: }
1775: }
1776:
1777: // TileOffsets
1778:
1779: static class TileOffsets extends TIFFTag {
1780:
1781: public TileOffsets() {
1782: super ("TileOffsets", TAG_TILE_OFFSETS, 1 << TIFF_LONG);
1783: }
1784: }
1785:
1786: // TileLength tag
1787:
1788: static class TileLength extends TIFFTag {
1789:
1790: public TileLength() {
1791: super ("TileLength", TAG_TILE_LENGTH, (1 << TIFF_SHORT)
1792: | (1 << TIFF_LONG));
1793: }
1794: }
1795:
1796: // TileWidth tag
1797:
1798: static class TileWidth extends TIFFTag {
1799:
1800: public TileWidth() {
1801: super ("TileWidth", TAG_TILE_WIDTH, (1 << TIFF_SHORT)
1802: | (1 << TIFF_LONG));
1803: }
1804: }
1805:
1806: // TransferFunction
1807:
1808: static class TransferFunction extends TIFFTag {
1809:
1810: public TransferFunction() {
1811: super ("TransferFunction", TAG_TRANSFER_FUNCTION,
1812: 1 << TIFF_SHORT);
1813: }
1814: }
1815:
1816: // TransferRange
1817:
1818: static class TransferRange extends TIFFTag {
1819:
1820: public TransferRange() {
1821: super ("TransferRange", TAG_TRANSFER_RANGE, 1 << TIFF_SHORT);
1822: }
1823: }
1824:
1825: // WhitePoint
1826:
1827: static class WhitePoint extends TIFFTag {
1828:
1829: public WhitePoint() {
1830: super ("WhitePoint", TAG_WHITE_POINT, 1 << TIFF_RATIONAL);
1831: }
1832: }
1833:
1834: // XPosition
1835:
1836: static class XPosition extends TIFFTag {
1837:
1838: public XPosition() {
1839: super ("XPosition", TAG_X_POSITION, 1 << TIFF_RATIONAL);
1840: }
1841: }
1842:
1843: // XResolution
1844:
1845: static class XResolution extends TIFFTag {
1846:
1847: public XResolution() {
1848: super ("XResolution", TAG_X_RESOLUTION, 1 << TIFF_RATIONAL);
1849: }
1850: }
1851:
1852: // YCbCrCoefficients
1853:
1854: static class YCbCrCoefficients extends TIFFTag {
1855:
1856: public YCbCrCoefficients() {
1857: super ("YCbCrCoefficients", TAG_Y_CB_CR_COEFFICIENTS,
1858: 1 << TIFF_RATIONAL);
1859: }
1860: }
1861:
1862: // YCbCrPositioning
1863:
1864: static class YCbCrPositioning extends TIFFTag {
1865:
1866: public YCbCrPositioning() {
1867: super ("YCbCrPositioning", TAG_Y_CB_CR_POSITIONING,
1868: 1 << TIFF_SHORT);
1869:
1870: addValueName(Y_CB_CR_POSITIONING_CENTERED, "Centered");
1871: addValueName(Y_CB_CR_POSITIONING_COSITED, "Cosited");
1872: }
1873: }
1874:
1875: // YCbCrSubSampling
1876:
1877: static class YCbCrSubSampling extends TIFFTag {
1878:
1879: public YCbCrSubSampling() {
1880: super ("YCbCrSubSampling", TAG_Y_CB_CR_SUBSAMPLING,
1881: 1 << TIFF_SHORT);
1882: }
1883: }
1884:
1885: // YPosition
1886:
1887: static class YPosition extends TIFFTag {
1888:
1889: public YPosition() {
1890: super ("YPosition", TAG_Y_POSITION, 1 << TIFF_RATIONAL);
1891: }
1892: }
1893:
1894: // YResolution
1895:
1896: static class YResolution extends TIFFTag {
1897:
1898: public YResolution() {
1899: super ("YResolution", TAG_Y_RESOLUTION, 1 << TIFF_RATIONAL);
1900: }
1901: }
1902:
1903: // Non-6.0 tags
1904:
1905: // ICC Profile (Spec. ICC.1:2001-12, File Format for Color Profiles)
1906:
1907: static class ICCProfile extends TIFFTag {
1908:
1909: public ICCProfile() {
1910: super ("ICC Profile", TAG_ICC_PROFILE, 1 << TIFF_UNDEFINED);
1911: }
1912: }
1913:
1914: private static List tags;
1915:
1916: private static void initTags() {
1917: tags = new ArrayList(76);
1918:
1919: tags.add(new BaselineTIFFTagSet.Artist());
1920: tags.add(new BaselineTIFFTagSet.BitsPerSample());
1921: tags.add(new BaselineTIFFTagSet.CellLength());
1922: tags.add(new BaselineTIFFTagSet.CellWidth());
1923: tags.add(new BaselineTIFFTagSet.ColorMap());
1924: tags.add(new BaselineTIFFTagSet.Compression());
1925: tags.add(new BaselineTIFFTagSet.Copyright());
1926: tags.add(new BaselineTIFFTagSet.DateTime());
1927: tags.add(new BaselineTIFFTagSet.DocumentName());
1928: tags.add(new BaselineTIFFTagSet.DotRange());
1929: tags.add(new BaselineTIFFTagSet.ExtraSamples());
1930: tags.add(new BaselineTIFFTagSet.FillOrder());
1931: tags.add(new BaselineTIFFTagSet.FreeByteCounts());
1932: tags.add(new BaselineTIFFTagSet.FreeOffsets());
1933: tags.add(new BaselineTIFFTagSet.GrayResponseCurve());
1934: tags.add(new BaselineTIFFTagSet.GrayResponseUnit());
1935: tags.add(new BaselineTIFFTagSet.HalftoneHints());
1936: tags.add(new BaselineTIFFTagSet.HostComputer());
1937: tags.add(new BaselineTIFFTagSet.ImageDescription());
1938: tags.add(new BaselineTIFFTagSet.ICCProfile());
1939: tags.add(new BaselineTIFFTagSet.ImageLength());
1940: tags.add(new BaselineTIFFTagSet.ImageWidth());
1941: tags.add(new BaselineTIFFTagSet.InkNames());
1942: tags.add(new BaselineTIFFTagSet.InkSet());
1943: tags.add(new BaselineTIFFTagSet.JPEGACTables());
1944: tags.add(new BaselineTIFFTagSet.JPEGDCTables());
1945: tags.add(new BaselineTIFFTagSet.JPEGInterchangeFormat());
1946: tags.add(new BaselineTIFFTagSet.JPEGInterchangeFormatLength());
1947: tags.add(new BaselineTIFFTagSet.JPEGLosslessPredictors());
1948: tags.add(new BaselineTIFFTagSet.JPEGPointTransforms());
1949: tags.add(new BaselineTIFFTagSet.JPEGProc());
1950: tags.add(new BaselineTIFFTagSet.JPEGQTables());
1951: tags.add(new BaselineTIFFTagSet.JPEGRestartInterval());
1952: tags.add(new BaselineTIFFTagSet.JPEGTables());
1953: tags.add(new BaselineTIFFTagSet.Make());
1954: tags.add(new BaselineTIFFTagSet.MaxSampleValue());
1955: tags.add(new BaselineTIFFTagSet.MinSampleValue());
1956: tags.add(new BaselineTIFFTagSet.Model());
1957: tags.add(new BaselineTIFFTagSet.NewSubfileType());
1958: tags.add(new BaselineTIFFTagSet.NumberOfInks());
1959: tags.add(new BaselineTIFFTagSet.Orientation());
1960: tags.add(new BaselineTIFFTagSet.PageName());
1961: tags.add(new BaselineTIFFTagSet.PageNumber());
1962: tags.add(new BaselineTIFFTagSet.PhotometricInterpretation());
1963: tags.add(new BaselineTIFFTagSet.PlanarConfiguration());
1964: tags.add(new BaselineTIFFTagSet.Predictor());
1965: tags.add(new BaselineTIFFTagSet.PrimaryChromaticities());
1966: tags.add(new BaselineTIFFTagSet.ReferenceBlackWhite());
1967: tags.add(new BaselineTIFFTagSet.ResolutionUnit());
1968: tags.add(new BaselineTIFFTagSet.RowsPerStrip());
1969: tags.add(new BaselineTIFFTagSet.SampleFormat());
1970: tags.add(new BaselineTIFFTagSet.SamplesPerPixel());
1971: tags.add(new BaselineTIFFTagSet.SMaxSampleValue());
1972: tags.add(new BaselineTIFFTagSet.SMinSampleValue());
1973: tags.add(new BaselineTIFFTagSet.Software());
1974: tags.add(new BaselineTIFFTagSet.StripByteCounts());
1975: tags.add(new BaselineTIFFTagSet.StripOffsets());
1976: tags.add(new BaselineTIFFTagSet.SubfileType());
1977: tags.add(new BaselineTIFFTagSet.T4Options());
1978: tags.add(new BaselineTIFFTagSet.T6Options());
1979: tags.add(new BaselineTIFFTagSet.TargetPrinter());
1980: tags.add(new BaselineTIFFTagSet.Threshholding());
1981: tags.add(new BaselineTIFFTagSet.TileByteCounts());
1982: tags.add(new BaselineTIFFTagSet.TileOffsets());
1983: tags.add(new BaselineTIFFTagSet.TileLength());
1984: tags.add(new BaselineTIFFTagSet.TileWidth());
1985: tags.add(new BaselineTIFFTagSet.TransferFunction());
1986: tags.add(new BaselineTIFFTagSet.TransferRange());
1987: tags.add(new BaselineTIFFTagSet.WhitePoint());
1988: tags.add(new BaselineTIFFTagSet.XPosition());
1989: tags.add(new BaselineTIFFTagSet.XResolution());
1990: tags.add(new BaselineTIFFTagSet.YCbCrCoefficients());
1991: tags.add(new BaselineTIFFTagSet.YCbCrPositioning());
1992: tags.add(new BaselineTIFFTagSet.YCbCrSubSampling());
1993: tags.add(new BaselineTIFFTagSet.YPosition());
1994: tags.add(new BaselineTIFFTagSet.YResolution());
1995: }
1996:
1997: private BaselineTIFFTagSet() {
1998: super (tags);
1999: }
2000:
2001: /**
2002: * Returns a shared instance of a <code>BaselineTIFFTagSet</code>.
2003: *
2004: * @return a <code>BaselineTIFFTagSet</code> instance.
2005: */
2006: public synchronized static BaselineTIFFTagSet getInstance() {
2007: if (theInstance == null) {
2008: initTags();
2009: theInstance = new BaselineTIFFTagSet();
2010: tags = null;
2011: }
2012: return theInstance;
2013: }
2014: }
|