Open Source Repository

Home /excel/jxl-2.6.12 | Repository Home



jxl/format/PaperSize.java
/*********************************************************************
 *
 *      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[vthis;
    }
  }

  /**
   * 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 - 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);
}