*% Copyright (c) 2012 The Chromium Authors. All rights reserved.
*% Use of this source code is governed by a BSD-style license that can be
*% found in the LICENSE file.

*GPDFileVersion: "1.0"
*GPDSpecVersion: "1.0"
*Include:        "StdNames.gpd"
*ResourceDLL:    "unires.dll"
*ModelName:      "Google Cloud Printer"
*MasterUnits:    PAIR(1200, 1200)
*MaxCopies:      1
*PrintRatePPM: 200
*PrinterType:    PAGE
*IsXPSDriver?:   TRUE

*Feature: ColorMode {
  *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
  *DefaultOption: 24bpp
  *ConcealFromUI?: TRUE
  *Option: 24bpp {
    *rcNameID: =24BPP_DISPLAY
    *DevNumOfPlanes: 1
    *DevBPP: 24
    *DrvBPP: 24
  }
}

*Feature: Memory {
  *rcNameID: =PRINTER_MEMORY_DISPLAY
  *DefaultOption: 65536KB
  *Option: 16384KB {
    *Name: "16MB"
    *MemoryConfigKB: PAIR(16384, 16384)
  }
  *Option: 65536KB {
    *Name: "64MB"
    *MemoryConfigKB: PAIR(65536, 65536)
  }
}

*Feature: Orientation {
  *rcNameID: =ORIENTATION_DISPLAY
  *DefaultOption: PORTRAIT
  *Option: PORTRAIT {
    *rcNameID: =PORTRAIT_DISPLAY
  }
  *Option: LANDSCAPE_CC270 {
    *rcNameID: =LANDSCAPE_DISPLAY
  }
}

*Feature: PaperSize {
  *rcNameID: =PAPER_SIZE_DISPLAY
  *DefaultOption: LETTER

  *Option: A2 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(19842, 28062)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(28062, 19842)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: A3 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(14031, 19842)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(19842, 14031)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: A4 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(9921, 14031)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(14031, 9921)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: A5 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(6992, 9921)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(9921, 6992)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: A6 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(4960, 6992)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(6992, 4960)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: A4_PLUS {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(9921, 15590)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(15590, 9921)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: A3_EXTRA {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(15212, 21023)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(21023, 15212)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: A4_EXTRA {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(11102, 15212)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(15212, 11102)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: A5_EXTRA {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(8220, 11102)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(11102, 8220)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: B4 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(12141, 17196)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(17196, 12141)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: B5 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(8598, 12141)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(12141, 8598)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_B4 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(11811, 16677)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(16677, 11811)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_B5 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(8314, 11811)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(11811, 8314)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_B6 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(5905, 8314)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(8314, 5905)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: B6_JIS {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(6047, 8598)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(8598, 6047)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: B5_EXTRA {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(9496, 13039)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(13039, 9496)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_C3 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(15307, 21637)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(21637, 15307)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_C4 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(10818, 15307)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(15307, 10818)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_C5 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(7653, 10818)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(10818, 7653)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_C6 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(5385, 7653)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(7653, 5385)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_C65 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(5385, 10818)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(10818, 5385)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_DL {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(5196, 10393)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(10393, 5196)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: JENV_CHOU3 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(5669, 11102)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(11102, 5669)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: JENV_CHOU4 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(4251, 9685)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(9685, 4251)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: JAPANESE_POSTCARD {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(4724, 6992)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(6992, 4724)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: JENV_KAKU2 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(11338, 15685)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(15685, 11338)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: DBL_JAPANESE_POSTCARD {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(6992, 9448)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(9448, 6992)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: JENV_YOU4 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(4960, 11102)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(11102, 4960)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: 10X11 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(12000, 13200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(13200, 12000)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: 10X14 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(12000, 16800)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(16800, 12000)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: 9X11 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(10800, 13200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(13200, 10800)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: CSHEET {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(20400, 26400)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(26400, 20400)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: DSHEET {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(26400, 40800)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(40800, 26400)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ESHEET {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(40800, 52800)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(52800, 40800)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: EXECUTIVE {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(8700, 12600)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(12600, 8700)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: FANFOLD_STD_GERMAN {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(10200, 14400)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(14400, 10200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: FANFOLD_US {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(13200, 17850)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(17850, 13200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: FOLIO {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(10200, 15600)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(15600, 10200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: STATEMENT {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(6600, 10200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(10200, 6600)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: TABLOID {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(13200, 20400)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(20400, 13200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: LEGAL {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(10200, 16800)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(16800, 10200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: LEGAL_EXTRA {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(11400, 18000)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(18000, 11400)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: LETTER {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(10200, 13200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(13200, 10200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: LETTER_EXTRA {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(11400, 14400)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(14400, 11400)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: LETTER_PLUS {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(10200, 15228)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(15228, 10200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_MONARCH {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(4650, 9000)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(9000, 4650)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_9 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(4650, 10650)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(10650, 4650)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_10 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(4950, 11400)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(11400, 4950)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_11 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(5400, 12450)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(12450, 5400)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_12 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(5700, 13200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(13200, 5700)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_14 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(6000, 13800)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(13800, 6000)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: ENV_INVITE {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(10393, 10393)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(10393, 10393)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: PENV_1 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(4818, 7795)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(7795, 4818)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: PENV_3 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(5905, 8314)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(8314, 5905)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: PENV_4 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(5196, 9826)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(9826, 5196)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: PENV_5 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(5196, 10393)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(10393, 5196)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: PENV_6 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(5669, 10866)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(10866, 5669)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: PENV_7 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(7559, 10866)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(10866, 7559)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: PENV_8 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(5669, 14598)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(14598, 5669)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: PENV_10 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(15307, 21637)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(21637, 15307)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }
}

*Feature: Resolution {
  *rcNameID: =RESOLUTION_DISPLAY
  *DefaultOption: 600dpi

  *Option: 600dpi {
    *Name: "600 x 600 " =DOTS_PER_INCH
    *DPI: PAIR(600, 600)
    *TextDPI: PAIR(600, 600)
    *SpotDiameter: 100
    *Command: CmdBeginRaster { *Cmd: "<1B>*v7S<1B>*r1A" }
    *Command: CmdEndRaster { *Cmd: "<1B>*rC" }
    *Command: CmdSendBlockData { *Cmd: "<1B>*b" %d {NumOfDataBytes}"W" }
  }
}

*Command: CmdCR { *Cmd: "<0D>" }
*Command: CmdLF { *Cmd: "<0A>" }
*Command: CmdFF { *Cmd: "<0C>" }
