1. /*
  2. * @(#)JPEGImageMetadataFormatResources.java 1.7 03/01/23
  3. *
  4. * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package com.sun.imageio.plugins.jpeg;
  8. import java.util.ListResourceBundle;
  9. public class JPEGImageMetadataFormatResources
  10. extends JPEGMetadataFormatResources {
  11. static final Object[][] imageContents = {
  12. // Node name, followed by description
  13. { "JPEGvariety", "A node grouping all marker segments specific to the variety of stream being read/written (e.g. JFIF) - may be empty" },
  14. { "markerSequence", "A node grouping all non-jfif marker segments" },
  15. { "app0jfif", "A JFIF APP0 marker segment" },
  16. { "app14Adobe", "An Adobe APP14 marker segment" },
  17. { "sof", "A Start Of Frame marker segment" },
  18. { "sos", "A Start Of Scan marker segment" },
  19. { "app0JFXX", "A JFIF extension marker segment" },
  20. { "app2ICC", "An ICC profile APP2 marker segment" },
  21. { "JFIFthumbJPEG",
  22. "A JFIF thumbnail in JPEG format (no JFIF segments permitted)" },
  23. { "JFIFthumbPalette", "A JFIF thumbnail as an RGB indexed image" },
  24. { "JFIFthumbRGB", "A JFIF thumbnail as an RGB image" },
  25. { "componentSpec", "A component specification for a frame" },
  26. { "scanComponentSpec", "A component specification for a scan" },
  27. // Node name + "/" + AttributeName, followed by description
  28. { "app0JFIF/majorVersion",
  29. "The major JFIF version number" },
  30. { "app0JFIF/minorVersion",
  31. "The minor JFIF version number" },
  32. { "app0JFIF/resUnits",
  33. "The resolution units for Xdensity and Ydensity "
  34. + "(0 = no units, just aspect ratio; 1 = dots/inch; 2 = dots/cm)" },
  35. { "app0JFIF/Xdensity",
  36. "The horizontal density or aspect ratio numerator" },
  37. { "app0JFIF/Ydensity",
  38. "The vertical density or aspect ratio denominator" },
  39. { "app0JFIF/thumbWidth",
  40. "The width of the thumbnail, or 0 if there isn't one" },
  41. { "app0JFIF/thumbHeight",
  42. "The height of the thumbnail, or 0 if there isn't one" },
  43. { "app0JFXX/extensionCode",
  44. "The JFXX extension code identifying thumbnail type: "
  45. + "(16 = JPEG, 17 = indexed, 19 = RGB" },
  46. { "JFIFthumbPalette/thumbWidth",
  47. "The width of the thumbnail" },
  48. { "JFIFthumbPalette/thumbHeight",
  49. "The height of the thumbnail" },
  50. { "JFIFthumbRGB/thumbWidth",
  51. "The width of the thumbnail" },
  52. { "JFIFthumbRGB/thumbHeight",
  53. "The height of the thumbnail" },
  54. { "app14Adobe/version",
  55. "The version of Adobe APP14 marker segment" },
  56. { "app14Adobe/flags0",
  57. "The flags0 variable of an APP14 marker segment" },
  58. { "app14Adobe/flags1",
  59. "The flags1 variable of an APP14 marker segment" },
  60. { "app14Adobe/transform",
  61. "The color transform applied to the image "
  62. + "(0 = Unknown, 1 = YCbCr, 2 = YCCK)" },
  63. { "sof/process",
  64. "The JPEG process (0 = Baseline sequential, "
  65. + "1 = Extended sequential, 2 = Progressive)" },
  66. { "sof/samplePrecision",
  67. "The number of bits per sample" },
  68. { "sof/numLines",
  69. "The number of lines in the image" },
  70. { "sof/samplesPerLine",
  71. "The number of samples per line" },
  72. { "sof/numFrameComponents",
  73. "The number of components in the image" },
  74. { "componentSpec/componentId",
  75. "The id for this component" },
  76. { "componentSpec/HsamplingFactor",
  77. "The horizontal sampling factor for this component" },
  78. { "componentSpec/VsamplingFactor",
  79. "The vertical sampling factor for this component" },
  80. { "componentSpec/QtableSelector",
  81. "The quantization table to use for this component" },
  82. { "sos/numScanComponents",
  83. "The number of components in the scan" },
  84. { "sos/startSpectralSelection",
  85. "The first spectral band included in this scan" },
  86. { "sos/endSpectralSelection",
  87. "The last spectral band included in this scan" },
  88. { "sos/approxHigh",
  89. "The highest bit position included in this scan" },
  90. { "sos/approxLow",
  91. "The lowest bit position included in this scan" },
  92. { "scanComponentSpec/componentSelector",
  93. "The id of this component" },
  94. { "scanComponentSpec/dcHuffTable",
  95. "The huffman table to use for encoding DC coefficients" },
  96. { "scanComponentSpec/acHuffTable",
  97. "The huffman table to use for encoding AC coefficients" }
  98. };
  99. static Object[][] combinedContents = null;
  100. static {
  101. // combine the commonContents and the imageContents
  102. combinedContents = new Object[commonContents.length
  103. + imageContents.length][2];
  104. int combined = 0;
  105. for (int i = 0; i < commonContents.length; i++) {
  106. combinedContents[combined++] = commonContents[i];
  107. }
  108. for (int i = 0; i < imageContents.length; i++) {
  109. combinedContents[combined++] = imageContents[i];
  110. }
  111. }
  112. public JPEGImageMetadataFormatResources() {}
  113. public Object[][] getContents() {
  114. return combinedContents;
  115. }
  116. }