/********************************************************************* * * Copyright (C) 2002 Andrew Khan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ***************************************************************************/ package jxl.format; /** * Enumeration type which contains the available excel paper sizes and their * codes */ public final class PaperSize { private static final int LAST_PAPER_SIZE = 89; /** * The excel encoding */ private int val; /** * The paper sizes */ private static PaperSize[] paperSizes = new PaperSize[LAST_PAPER_SIZE + 1]; /** * Constructor */ private PaperSize(int v, boolean growArray) { val = v; if (v >= paperSizes.length && growArray) { // Grow the array and add this to it PaperSize[] newarray = new PaperSize[v + 1]; System.arraycopy(paperSizes, 0, newarray, 0, paperSizes.length); paperSizes = newarray; } if (v < paperSizes.length) { paperSizes[v] = this; } } /** * Constructor */ private PaperSize(int v) { this(v, true); } /** * Accessor for the internal binary value association with this paper size * * @return the internal value */ public int getValue() { return val; } /** * Gets the paper size for a specific value * * @param val the value * @return the paper size */ public static PaperSize getPaperSize(int val) { PaperSize p = val > paperSizes.length - 1 ? null : paperSizes[val]; return p == null ? new PaperSize(val, false) : p; } /** US Letter 8.5 x 11" */ public static final PaperSize UNDEFINED = new PaperSize(0); /** US Letter 8.5 x 11" */ public static final PaperSize LETTER = new PaperSize(1); /** Letter small 8.5" × 11" */ public static final PaperSize LETTER_SMALL = new PaperSize(2); /** Tabloid 11" x 17" */ public static final PaperSize TABLOID = new PaperSize(3); /** Leger 17" x 11" */ public static final PaperSize LEDGER = new PaperSize(4); /** US Legal 8.5" x 14" */ public static final PaperSize LEGAL = new PaperSize(5); /** Statement 5.5" x 8.5" */ public static final PaperSize STATEMENT = new PaperSize(6); /** Executive 7.25" x 10.5" */ public static final PaperSize EXECUTIVE = new PaperSize(7); /** A3 297mm x 420mm */ public static final PaperSize A3 = new PaperSize(8); /** A4 210mm x 297mm */ public static final PaperSize A4 = new PaperSize(9); /** A4 Small 210mm x 297 mm */ public static final PaperSize A4_SMALL = new PaperSize(10); /** A5 148mm x 210mm */ public static final PaperSize A5 = new PaperSize(11); /** B4 (JIS) 257mm x 364mm */ public static final PaperSize B4 = new PaperSize(12); /** B5 (JIS) 182mm x 257mm */ public static final PaperSize B5 = new PaperSize(13); /** Folio 8.5" x 13" */ public static final PaperSize FOLIO = new PaperSize(14); /** Quarto 215mm x 275mm */ public static final PaperSize QUARTO = new PaperSize(15); /** 10" x 14" */ public static final PaperSize SIZE_10x14 = new PaperSize(16); /** 11" x 17" */ public static final PaperSize SIZE_10x17 = new PaperSize(17); /** NOTE 8.5" x 11" */ public static final PaperSize NOTE = new PaperSize(18); /** Envelope #9 3 7/8" x 8 7/8" */ public static final PaperSize ENVELOPE_9 = new PaperSize(19); /** Envelope #10 4 1/8" x 9.5" */ public static final PaperSize ENVELOPE_10 = new PaperSize(20); /** Envelope #11 4.5" x 10 3/8" */ public static final PaperSize ENVELOPE_11 = new PaperSize(21); /** Envelope #12 4.75" x 11" */ public static final PaperSize ENVELOPE_12 = new PaperSize(22); /** Envelope #14 5" x 11.5" */ public static final PaperSize ENVELOPE_14 = new PaperSize(23); /** C 17" x 22" */ public static final PaperSize C = new PaperSize(24); /** D 22" x 34" */ public static final PaperSize D = new PaperSize(25); /** E 34" x 44" */ public static final PaperSize E = new PaperSize(26); /** Envelope DL 110mm × 220mm */ public static final PaperSize ENVELOPE_DL = new PaperSize(27); /** Envelope C5 162mm × 229mm */ public static final PaperSize ENVELOPE_C5 = new PaperSize(28); /** Envelope C3 324mm × 458mm */ public static final PaperSize ENVELOPE_C3 = new PaperSize(29); /** Envelope C4 229mm × 324mm */ public static final PaperSize ENVELOPE_C4 = new PaperSize(30); /** Envelope C6 114mm × 162mm */ public static final PaperSize ENVELOPE_C6 = new PaperSize(31); /** Envelope C6/C5 114mm × 229mm */ public static final PaperSize ENVELOPE_C6_C5 = new PaperSize(32); /** B4 (ISO) 250mm × 353mm */ public static final PaperSize B4_ISO = new PaperSize(33); /** B5 (ISO) 176mm × 250mm */ public static final PaperSize B5_ISO = new PaperSize(34); /** B6 (ISO) 125mm × 176mm */ public static final PaperSize B6_ISO = new PaperSize(35); /** Envelope Italy 110mm × 230mm */ public static final PaperSize ENVELOPE_ITALY = new PaperSize(36); /** Envelope Monarch 3 7/8" × 7.5" */ public static final PaperSize ENVELOPE_MONARCH = new PaperSize(37); /** 6.75 Envelope 3 5/8" × 6.5" */ public static final PaperSize ENVELOPE_6_75 = new PaperSize(38); /** US Standard Fanfold 14 7/8" × 11" */ public static final PaperSize US_FANFOLD = new PaperSize(39); /** German Std. Fanfold 8.5" × 12" */ public static final PaperSize GERMAN_FANFOLD = new PaperSize(40); /** German Legal Fanfold 8.5" × 13" */ public static final PaperSize GERMAN_LEGAL_FANFOLD = new PaperSize(41); /** B4 (ISO) 250mm × 353mm */ public static final PaperSize B4_ISO_2 = new PaperSize(42); /** Japanese Postcard 100mm × 148mm */ public static final PaperSize JAPANESE_POSTCARD = new PaperSize(43); /** 9×11 9" × 11" */ public static final PaperSize SIZE_9x11 = new PaperSize(44); /** 10×11 10" × 11" */ public static final PaperSize SIZE_10x11 = new PaperSize(45); /** 15×11 15" × 11" */ public static final PaperSize SIZE_15x11 = new PaperSize(46); /** Envelope Invite 220mm × 220mm */ public static final PaperSize ENVELOPE_INVITE = new PaperSize(47); /* 48 & 49 Undefined */ /** Letter Extra 9.5" × 12" */ public static final PaperSize LETTER_EXTRA = new PaperSize(50); /** Legal Extra 9.5" × 15" */ public static final PaperSize LEGAL_EXTRA = new PaperSize(51); /** Tabloid Extra 11 11/16" × 18" */ public static final PaperSize TABLOID_EXTRA = new PaperSize(52); /** A4 Extra 235mm × 322mm */ public static final PaperSize A4_EXTRA = new PaperSize(53); /** Letter Transverse 8.5" × 11" */ public static final PaperSize LETTER_TRANSVERSE = new PaperSize(54); /** A4 Transverse 210mm × 297mm */ public static final PaperSize A4_TRANSVERSE = new PaperSize(55); /** Letter Extra Transv. 9.5" × 12" */ public static final PaperSize LETTER_EXTRA_TRANSVERSE = new PaperSize(56); /** Super A/A4 227mm × 356mm */ public static final PaperSize SUPER_A_A4 = new PaperSize(57); /** Super B/A3 305mm × 487mm */ public static final PaperSize SUPER_B_A3 = new PaperSize(58); /** Letter Plus 8.5" x 12 11/16" */ public static final PaperSize LETTER_PLUS = new PaperSize(59); /** A4 Plus 210mm × 330mm */ public static final PaperSize A4_PLUS = new PaperSize(60); /** A5 Transverse 148mm × 210mm */ public static final PaperSize A5_TRANSVERSE = new PaperSize(61); /** B5 (JIS) Transverse 182mm × 257mm */ public static final PaperSize B5_TRANSVERSE = new PaperSize(62); /** A3 Extra 322mm × 445mm */ public static final PaperSize A3_EXTRA = new PaperSize(63); /** A5 Extra 174mm × 235mm */ public static final PaperSize A5_EXTRA = new PaperSize(64); /** B5 (ISO) Extra 201mm × 276mm */ public static final PaperSize B5_EXTRA = new PaperSize(65); /** A2 420mm × 594mm */ public static final PaperSize A2 = new PaperSize(66); /** A3 Transverse 297mm × 420mm */ public static final PaperSize A3_TRANSVERSE = new PaperSize(67); /** A3 Extra Transverse 322mm × 445mm */ public static final PaperSize A3_EXTRA_TRANSVERSE = new PaperSize(68); /** Dbl. Japanese Postcard 200mm × 148mm */ public static final PaperSize DOUBLE_JAPANESE_POSTCARD = new PaperSize(69); /** A6 105mm × 148mm */ public static final PaperSize A6 = new PaperSize(70); /* 71 - 74 undefined */ /** Letter Rotated 11" × 8.5" */ public static final PaperSize LETTER_ROTATED = new PaperSize(75); /** A3 Rotated 420mm × 297mm */ public static final PaperSize A3_ROTATED = new PaperSize(76); /** A4 Rotated 297mm × 210mm */ public static final PaperSize A4_ROTATED = new PaperSize(77); /** A5 Rotated 210mm × 148mm */ public static final PaperSize A5_ROTATED = new PaperSize(78); /** B4 (JIS) Rotated 364mm × 257mm */ public static final PaperSize B4_ROTATED = new PaperSize(79); /** B5 (JIS) Rotated 257mm × 182mm */ public static final PaperSize B5_ROTATED = new PaperSize(80); /** Japanese Postcard Rot. 148mm × 100mm */ public static final PaperSize JAPANESE_POSTCARD_ROTATED = new PaperSize(81); /** Dbl. Jap. Postcard Rot. 148mm × 200mm */ public static final PaperSize DOUBLE_JAPANESE_POSTCARD_ROTATED = new PaperSize(82); /** A6 Rotated 148mm × 105mm */ public static final PaperSize A6_ROTATED = new PaperSize(83); /* 84 - 87 undefined */ /** B6 (JIS) 128mm × 182mm */ public static final PaperSize B6 = new PaperSize(88); /** B6 (JIS) Rotated 182mm × 128mm */ public static final PaperSize B6_ROTATED = new PaperSize(89); }