Source Code Cross Referenced for BaselineTIFFTagSet.java in  » 6.0-JDK-Modules » Java-Advanced-Imaging » com » sun » media » imageio » plugins » tiff » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » 6.0 JDK Modules » Java Advanced Imaging » com.sun.media.imageio.plugins.tiff 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


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&nbsp;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&nbsp;compression}</li>
0065:         * <li>{@link #COMPRESSION_ZLIB Zlib-in-TIFF&nbsp;compression}</li>
0066:         * <li>{@link #COMPRESSION_DEFLATE Deflate&nbsp;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&nbsp;
0073:         * photometric&nbsp;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:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.