Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

318 lines
8.6 KiB

  1. *%
  2. *% Copyright (c) 1997 - 1999 Microsoft Corporation
  3. *% All Rights Reserved.
  4. *%
  5. *GPDSpecVersion: "1.0"
  6. *Include: "StdNames.gpd"
  7. *GPDFileVersion: "1.0"
  8. *GPDFileName: "ok8358sc.gpd"
  9. *CodePage: 1252
  10. *ModelName: "Oki 8358SC"
  11. *MasterUnits: PAIR(360, 360)
  12. *ResourceDLL: "okiscres.dll"
  13. *PrinterType: SERIAL
  14. *FontCartSlots: 1
  15. *Feature: Orientation
  16. {
  17. *rcNameID: =ORIENTATION_DISPLAY
  18. *DefaultOption: PORTRAIT
  19. *Option: PORTRAIT
  20. {
  21. *rcNameID: =PORTRAIT_DISPLAY
  22. }
  23. *Option: LANDSCAPE_CC270
  24. {
  25. *rcNameID: =LANDSCAPE_DISPLAY
  26. }
  27. }
  28. *Feature: InputBin
  29. {
  30. *rcNameID: =PAPER_SOURCE_DISPLAY
  31. *DefaultOption: MANUAL
  32. *Option: MANUAL
  33. {
  34. *rcNameID: =MANUAL_FEED_DISPLAY
  35. }
  36. *Option: TRACTOR
  37. {
  38. *rcNameID: =TRACTOR_DISPLAY
  39. }
  40. }
  41. *Feature: Resolution
  42. {
  43. *rcNameID: =RESOLUTION_DISPLAY
  44. *DefaultOption: Option1
  45. *Option: Option1
  46. {
  47. *Name: "180 x 180 " =DOTS_PER_INCH
  48. *DPI: PAIR(180, 180)
  49. *TextDPI: PAIR(180, 180)
  50. *PinsPerLogPass: 24
  51. *PinsPerPhysPass: 24
  52. *MinStripBlankPixels: 180
  53. EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
  54. *SpotDiameter: 120
  55. *Command: CmdSendBlockData { *Cmd : "<1B>%%1" %m{NumOfDataBytes / 3} }
  56. }
  57. }
  58. *Feature: PaperSize
  59. {
  60. *rcNameID: =PAPER_SIZE_DISPLAY
  61. *DefaultOption: LETTER
  62. *Option: LETTER
  63. {
  64. *rcNameID: =LETTER_DISPLAY
  65. *switch: InputBin
  66. {
  67. *case: MANUAL
  68. {
  69. *PrintableArea: PAIR(2916, 3768)
  70. *PrintableOrigin: PAIR(72, 72)
  71. }
  72. *case: TRACTOR
  73. {
  74. *PrintableArea: PAIR(2916, 3768)
  75. *PrintableOrigin: PAIR(72, 72)
  76. *Command: CmdSelect
  77. {
  78. *Order: DOC_SETUP.3
  79. *Cmd: "<1B>F<08><08>"
  80. }
  81. }
  82. }
  83. }
  84. *Option: A3
  85. {
  86. *rcNameID: =A3_DISPLAY
  87. *switch: InputBin
  88. {
  89. *case: MANUAL
  90. {
  91. *PrintableArea: PAIR(4064, 5762)
  92. *PrintableOrigin: PAIR(72, 72)
  93. }
  94. *case: TRACTOR
  95. {
  96. *PrintableArea: PAIR(4064, 5762)
  97. *PrintableOrigin: PAIR(72, 72)
  98. *Command: CmdSelect
  99. {
  100. *Order: DOC_SETUP.3
  101. *Cmd: "<1B>F<0D><02>"
  102. }
  103. }
  104. }
  105. }
  106. *Option: A4
  107. {
  108. *rcNameID: =A4_DISPLAY
  109. *switch: InputBin
  110. {
  111. *case: MANUAL
  112. {
  113. *PrintableArea: PAIR(2833, 4016)
  114. *PrintableOrigin: PAIR(72, 72)
  115. *switch: Resolution
  116. {
  117. *case: Option1
  118. {
  119. *% Warning: the following printable width is adjusted (2833->2832) so it is divisible by the resolution X scale.
  120. *PrintableArea: PAIR(2832, 4016)
  121. }
  122. }
  123. }
  124. *case: TRACTOR
  125. {
  126. *PrintableArea: PAIR(2833, 4016)
  127. *PrintableOrigin: PAIR(72, 72)
  128. *switch: Resolution
  129. {
  130. *case: Option1
  131. {
  132. *% Warning: the following printable width is adjusted (2833->2832) so it is divisible by the resolution X scale.
  133. *PrintableArea: PAIR(2832, 4016)
  134. }
  135. }
  136. *Command: CmdSelect
  137. {
  138. *Order: DOC_SETUP.3
  139. *Cmd: "<1B>F<09><03>"
  140. }
  141. }
  142. }
  143. }
  144. *Option: B4
  145. {
  146. *rcNameID: =B4_DISPLAY
  147. *switch: InputBin
  148. {
  149. *case: MANUAL
  150. {
  151. *PrintableArea: PAIR(3499, 4967)
  152. *PrintableOrigin: PAIR(72, 72)
  153. *switch: Resolution
  154. {
  155. *case: Option1
  156. {
  157. *% Warning: the following printable width is adjusted (3499->3498) so it is divisible by the resolution X scale.
  158. *% Warning: the following printable length is adjusted (4967->4966) so it is divisible by the resolution Y scale.
  159. *PrintableArea: PAIR(3498, 4966)
  160. }
  161. }
  162. }
  163. *case: TRACTOR
  164. {
  165. *PrintableArea: PAIR(3499, 4967)
  166. *PrintableOrigin: PAIR(72, 72)
  167. *switch: Resolution
  168. {
  169. *case: Option1
  170. {
  171. *% Warning: the following printable width is adjusted (3499->3498) so it is divisible by the resolution X scale.
  172. *% Warning: the following printable length is adjusted (4967->4966) so it is divisible by the resolution Y scale.
  173. *PrintableArea: PAIR(3498, 4966)
  174. }
  175. }
  176. *Command: CmdSelect
  177. {
  178. *Order: DOC_SETUP.3
  179. *Cmd: "<1B>F<0B><04>"
  180. }
  181. }
  182. }
  183. }
  184. *Option: CUSTOMSIZE
  185. {
  186. *rcNameID: =USER_DEFINED_SIZE_DISPLAY
  187. *MinSize: PAIR(360, 360)
  188. *MaxSize: PAIR(5040, 7920)
  189. *MaxPrintableWidth: 4896
  190. *MinLeftMargin: 0
  191. *CenterPrintable?: FALSE
  192. *switch: InputBin
  193. {
  194. *case: MANUAL
  195. {
  196. *TopMargin: 72
  197. *BottomMargin: 120
  198. }
  199. *case: TRACTOR
  200. {
  201. *TopMargin: 0
  202. *BottomMargin: 0
  203. *Command: CmdSelect
  204. {
  205. *Order: DOC_SETUP.3
  206. *Cmd: "<1B>F" %c[0,15]{(PhysPaperLength*8)/3600} %c[0,15]{(PhysPaperLength*8/360) MOD 10}
  207. }
  208. }
  209. }
  210. }
  211. }
  212. *Feature: PrintQuality
  213. {
  214. *rcNameID: =TEXT_QUALITY_DISPLAY
  215. *DefaultOption: LETTER_QUALITY
  216. *Option: LETTER_QUALITY
  217. {
  218. *rcNameID: =LETTER_QUALITY_DISPLAY
  219. *Command: CmdSelect
  220. {
  221. *Order: DOC_SETUP.2
  222. *Cmd: "<1B>I"
  223. }
  224. }
  225. *Option: DRAFT_QUALITY
  226. {
  227. *rcNameID: =DRAFT_QUALITY_DISPLAY
  228. *Command: CmdSelect
  229. {
  230. *Order: DOC_SETUP.2
  231. *Cmd: "<1B>0"
  232. }
  233. }
  234. }
  235. *Feature: Halftone
  236. {
  237. *rcNameID: =HALFTONING_DISPLAY
  238. *DefaultOption: HT_PATSIZE_AUTO
  239. *Option: HT_PATSIZE_AUTO
  240. {
  241. *rcNameID: =HT_AUTO_SELECT_DISPLAY
  242. }
  243. *Option: HT_PATSIZE_SUPERCELL_M
  244. {
  245. *rcNameID: =HT_SUPERCELL_DISPLAY
  246. }
  247. *Option: HT_PATSIZE_6x6_M
  248. {
  249. *rcNameID: =HT_DITHER6X6_DISPLAY
  250. }
  251. *Option: HT_PATSIZE_8x8_M
  252. {
  253. *rcNameID: =HT_DITHER8X8_DISPLAY
  254. }
  255. }
  256. *Command: CmdStartDoc
  257. {
  258. *Order: DOC_SETUP.1
  259. *Cmd: "<1B>N"
  260. }
  261. *Command: CmdStartPage
  262. {
  263. *Order: PAGE_SETUP.1
  264. *Cmd: "<0D>"
  265. }
  266. *RotateCoordinate?: FALSE
  267. *RotateRaster?: FALSE
  268. *RotateFont?: FALSE
  269. *switch: Orientation
  270. {
  271. *case: PORTRAIT
  272. {
  273. *TextCaps: LIST(TC_SA_DOUBLE,TC_EA_DOUBLE,TC_IA_ABLE,TC_UA_ABLE,TC_RA_ABLE)
  274. }
  275. *case: LANDSCAPE_CC270
  276. {
  277. *TextCaps: LIST(TC_RA_ABLE)
  278. }
  279. }
  280. *CursorXAfterCR: AT_CURSOR_X_ORIGIN
  281. *YMoveAttributes: LIST(SEND_CR_FIRST)
  282. *MaxLineSpacing: 255
  283. *XMoveThreshold: *
  284. *YMoveThreshold: *
  285. *XMoveUnit: 180
  286. *YMoveUnit: 120
  287. *Command: CmdXMoveRelRight { *Cmd : "<1B>%%3" %m[0,255]{max_repeat((DestXRel / 2) )} }
  288. *Command: CmdXMoveRelLeft { *Cmd : "<1B>%%4" %m[0,255]{max_repeat((DestXRel / 2) )} }
  289. *Command: CmdYMoveRelDown { *Cmd : "<1B>%%5" %c[0,255]{max_repeat((DestYRel / 3) )} }
  290. *Command: CmdSetLineSpacing { *Cmd : "<1B>%%9" %m[0,255]{(LinefeedSpacing / 3) } }
  291. *Command: CmdCR { *Cmd : "<0D>" }
  292. *Command: CmdLF { *Cmd : "<0A>" }
  293. *Command: CmdFF { *Cmd : "<0C>" }
  294. *Command: CmdBackSpace { *Cmd : "<08>" }
  295. *Command: CmdUniDirectionOn { *Cmd : "<1B>%%U" }
  296. *Command: CmdUniDirectionOff { *Cmd : "<1B>%%B" }
  297. *EjectPageWithFF?: TRUE
  298. *OutputDataFormat: V_BYTE
  299. *OptimizeLeftBound?: FALSE
  300. *CursorXAfterSendBlockData: AT_GRXDATA_END
  301. *CursorYAfterSendBlockData: NO_MOVE
  302. *DefaultFont: 5
  303. *DefaultCTT: 1
  304. *switch: Orientation
  305. {
  306. *case: PORTRAIT
  307. {
  308. *DeviceFonts: LIST(1,2,3,4,5,6)
  309. }
  310. *case: LANDSCAPE_CC270
  311. {
  312. *DeviceFonts: LIST()
  313. }
  314. }
  315. *Command: CmdBoldOn { *Cmd : "<1B>I" }
  316. *Command: CmdBoldOff { *Cmd : "<1B>0" }
  317. *Command: CmdUnderlineOn { *Cmd : "<1B>X" }
  318. *Command: CmdUnderlineOff { *Cmd : "<1B>Y" }