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.

478 lines
15 KiB

  1. *%
  2. *% Copyright (c) 1997 - 1999 Microsoft Corporation
  3. *% All Rights Reserved.
  4. *%
  5. *GPDSpecVersion: "1.0"
  6. *GPDFileVersion: "1.00"
  7. *GPDFileName: "SS4022MK.GPD"
  8. *Include: "STDNAMES.GPD"
  9. *CodePage: 949
  10. *ModelName: "�Z SP-4022 (KSSM)"
  11. *MasterUnits: PAIR(360, 360)
  12. *ResourceDLL: "kssmkres.dll"
  13. *PrinterType: SERIAL
  14. *Feature: Orientation
  15. {
  16. *rcNameID: =ORIENTATION_DISPLAY
  17. *DefaultOption: PORTRAIT
  18. *Option: PORTRAIT
  19. {
  20. *rcNameID: =PORTRAIT_DISPLAY
  21. }
  22. *Option: LANDSCAPE_CC270
  23. {
  24. *rcNameID: =LANDSCAPE_DISPLAY
  25. }
  26. }
  27. *Feature: InputBin
  28. {
  29. *rcNameID: =PAPER_SOURCE_DISPLAY
  30. *DefaultOption: TRACTOR
  31. *Option: TRACTOR
  32. {
  33. *rcNameID: =TRACTOR_DISPLAY
  34. *Command: CmdSelect
  35. {
  36. *Order: DOC_SETUP.3
  37. *Cmd: "<1B19>0"
  38. }
  39. }
  40. *Option: MANUAL
  41. {
  42. *rcNameID: =MANUAL_FEED_DISPLAY
  43. *% Warning: this input bin has PSRC_MAN_PROMPT set in GPC, which is ignored by GPD.
  44. *Command: CmdSelect
  45. {
  46. *Order: DOC_SETUP.3
  47. *Cmd: "<1B19>0"
  48. }
  49. }
  50. }
  51. *Feature: Resolution
  52. {
  53. *rcNameID: =RESOLUTION_DISPLAY
  54. *DefaultOption: Option2
  55. *Option: Option1
  56. {
  57. *Name: "360 x 180 dots per inch"
  58. *DPI: PAIR(360, 180)
  59. *TextDPI: PAIR(360, 180)
  60. *PinsPerLogPass: 24
  61. *PinsPerPhysPass: 24
  62. *MinStripBlankPixels: 360
  63. EXTERN_GLOBAL: *StripBlanks: LIST(TRAILING)
  64. *% Warning: this resolution has RES_BO_NO_ADJACENT set in GPC, which is ignored by GPD. Custom code is needed.
  65. *SpotDiameter: 170
  66. *Command: CmdSendBlockData { *Cmd : "<1B>*(" %l{NumOfDataBytes / 3} }
  67. }
  68. *Option: Option2
  69. {
  70. *Name: "180 x 180 dots per inch"
  71. *DPI: PAIR(180, 180)
  72. *TextDPI: PAIR(180, 180)
  73. *PinsPerLogPass: 24
  74. *PinsPerPhysPass: 24
  75. *MinStripBlankPixels: 180
  76. EXTERN_GLOBAL: *StripBlanks: LIST(TRAILING)
  77. *SpotDiameter: 120
  78. *Command: CmdSendBlockData { *Cmd : "<1B>*'" %l{NumOfDataBytes / 3} }
  79. }
  80. *Option: Option3
  81. {
  82. *Name: "120 x 180 dots per inch"
  83. *DPI: PAIR(120, 180)
  84. *TextDPI: PAIR(120, 180)
  85. *PinsPerLogPass: 24
  86. *PinsPerPhysPass: 24
  87. *MinStripBlankPixels: 120
  88. EXTERN_GLOBAL: *StripBlanks: LIST(TRAILING)
  89. *SpotDiameter: 100
  90. *Command: CmdSendBlockData { *Cmd : "<1B>*!" %l{NumOfDataBytes / 3} }
  91. }
  92. }
  93. *Feature: PaperSize
  94. {
  95. *rcNameID: =PAPER_SIZE_DISPLAY
  96. *DefaultOption: LETTER
  97. *Option: LETTER
  98. {
  99. *rcNameID: =LETTER_DISPLAY
  100. *Command: CmdSelect
  101. {
  102. *Order: DOC_SETUP.4
  103. *Cmd: "<1B>2<1B>CB"
  104. }
  105. *switch: InputBin
  106. {
  107. *case: TRACTOR
  108. {
  109. *PrintableArea: PAIR(2880, 3640)
  110. *PrintableOrigin: PAIR(90, 120)
  111. }
  112. *case: MANUAL
  113. {
  114. *PrintableArea: PAIR(2880, 3615)
  115. *PrintableOrigin: PAIR(90, 120)
  116. *switch: Resolution
  117. {
  118. *case: Option1
  119. {
  120. *% Warning: the following printable length is adjusted (3615->3614) so it is divisible by the resolution Y scale.
  121. *PrintableArea: PAIR(2880, 3614)
  122. }
  123. *case: Option2
  124. {
  125. *% Warning: the following printable length is adjusted (3615->3614) so it is divisible by the resolution Y scale.
  126. *PrintableArea: PAIR(2880, 3614)
  127. }
  128. *case: Option3
  129. {
  130. *% Warning: the following printable length is adjusted (3615->3614) so it is divisible by the resolution Y scale.
  131. *PrintableArea: PAIR(2880, 3614)
  132. }
  133. }
  134. }
  135. }
  136. }
  137. *Option: Option2
  138. {
  139. *rcNameID: 258
  140. *PageDimensions: PAIR(3060, 3960)
  141. *Command: CmdSelect
  142. {
  143. *Order: DOC_SETUP.4
  144. *Cmd: "<1B>2<1B>CB"
  145. }
  146. *switch: InputBin
  147. {
  148. *case: TRACTOR
  149. {
  150. *PrintableArea: PAIR(2880, 3640)
  151. *PrintableOrigin: PAIR(90, 120)
  152. }
  153. *case: MANUAL
  154. {
  155. *PrintableArea: PAIR(2880, 3615)
  156. *PrintableOrigin: PAIR(90, 120)
  157. *switch: Resolution
  158. {
  159. *case: Option1
  160. {
  161. *% Warning: the following printable length is adjusted (3615->3614) so it is divisible by the resolution Y scale.
  162. *PrintableArea: PAIR(2880, 3614)
  163. }
  164. *case: Option2
  165. {
  166. *% Warning: the following printable length is adjusted (3615->3614) so it is divisible by the resolution Y scale.
  167. *PrintableArea: PAIR(2880, 3614)
  168. }
  169. *case: Option3
  170. {
  171. *% Warning: the following printable length is adjusted (3615->3614) so it is divisible by the resolution Y scale.
  172. *PrintableArea: PAIR(2880, 3614)
  173. }
  174. }
  175. }
  176. }
  177. }
  178. *Option: LEGAL
  179. {
  180. *rcNameID: =LEGAL_DISPLAY
  181. *Command: CmdSelect
  182. {
  183. *Order: DOC_SETUP.4
  184. *Cmd: "<1B>2<1B>CT"
  185. }
  186. *switch: InputBin
  187. {
  188. *case: TRACTOR
  189. {
  190. *PrintableArea: PAIR(2880, 4720)
  191. *PrintableOrigin: PAIR(90, 120)
  192. }
  193. *case: MANUAL
  194. {
  195. *PrintableArea: PAIR(2880, 4695)
  196. *PrintableOrigin: PAIR(90, 120)
  197. *switch: Resolution
  198. {
  199. *case: Option1
  200. {
  201. *% Warning: the following printable length is adjusted (4695->4694) so it is divisible by the resolution Y scale.
  202. *PrintableArea: PAIR(2880, 4694)
  203. }
  204. *case: Option2
  205. {
  206. *% Warning: the following printable length is adjusted (4695->4694) so it is divisible by the resolution Y scale.
  207. *PrintableArea: PAIR(2880, 4694)
  208. }
  209. *case: Option3
  210. {
  211. *% Warning: the following printable length is adjusted (4695->4694) so it is divisible by the resolution Y scale.
  212. *PrintableArea: PAIR(2880, 4694)
  213. }
  214. }
  215. }
  216. }
  217. }
  218. *Option: A4
  219. {
  220. *rcNameID: =A4_DISPLAY
  221. *Command: CmdSelect
  222. {
  223. *Order: DOC_SETUP.4
  224. *Cmd: "<1B>2<1B>CF"
  225. }
  226. *switch: InputBin
  227. {
  228. *case: TRACTOR
  229. {
  230. *PrintableArea: PAIR(2837, 3888)
  231. *PrintableOrigin: PAIR(90, 120)
  232. *switch: Resolution
  233. {
  234. *case: Option2
  235. {
  236. *% Warning: the following printable width is adjusted (2837->2836) so it is divisible by the resolution X scale.
  237. *PrintableArea: PAIR(2836, 3888)
  238. }
  239. *case: Option3
  240. {
  241. *% Warning: the following printable width is adjusted (2837->2835) so it is divisible by the resolution X scale.
  242. *PrintableArea: PAIR(2835, 3888)
  243. }
  244. }
  245. }
  246. *case: MANUAL
  247. {
  248. *PrintableArea: PAIR(2837, 3863)
  249. *PrintableOrigin: PAIR(90, 120)
  250. *switch: Resolution
  251. {
  252. *case: Option1
  253. {
  254. *% Warning: the following printable length is adjusted (3863->3862) so it is divisible by the resolution Y scale.
  255. *PrintableArea: PAIR(2837, 3862)
  256. }
  257. *case: Option2
  258. {
  259. *% Warning: the following printable width is adjusted (2837->2836) so it is divisible by the resolution X scale.
  260. *% Warning: the following printable length is adjusted (3863->3862) so it is divisible by the resolution Y scale.
  261. *PrintableArea: PAIR(2836, 3862)
  262. }
  263. *case: Option3
  264. {
  265. *% Warning: the following printable width is adjusted (2837->2835) so it is divisible by the resolution X scale.
  266. *% Warning: the following printable length is adjusted (3863->3862) so it is divisible by the resolution Y scale.
  267. *PrintableArea: PAIR(2835, 3862)
  268. }
  269. }
  270. }
  271. }
  272. }
  273. *Option: A5
  274. {
  275. *rcNameID: =A5_DISPLAY
  276. *Command: CmdSelect
  277. {
  278. *Order: DOC_SETUP.4
  279. *Cmd: "<1B>2<1B>C2"
  280. }
  281. *switch: InputBin
  282. {
  283. *case: TRACTOR
  284. {
  285. *PrintableArea: PAIR(1959, 2657)
  286. *PrintableOrigin: PAIR(90, 120)
  287. *switch: Resolution
  288. {
  289. *case: Option1
  290. {
  291. *% Warning: the following printable length is adjusted (2657->2656) so it is divisible by the resolution Y scale.
  292. *PrintableArea: PAIR(1959, 2656)
  293. }
  294. *case: Option2
  295. {
  296. *% Warning: the following printable width is adjusted (1959->1958) so it is divisible by the resolution X scale.
  297. *% Warning: the following printable length is adjusted (2657->2656) so it is divisible by the resolution Y scale.
  298. *PrintableArea: PAIR(1958, 2656)
  299. }
  300. *case: Option3
  301. {
  302. *% Warning: the following printable length is adjusted (2657->2656) so it is divisible by the resolution Y scale.
  303. *PrintableArea: PAIR(1959, 2656)
  304. }
  305. }
  306. }
  307. *case: MANUAL
  308. {
  309. *PrintableArea: PAIR(1959, 2632)
  310. *PrintableOrigin: PAIR(90, 120)
  311. *switch: Resolution
  312. {
  313. *case: Option2
  314. {
  315. *% Warning: the following printable width is adjusted (1959->1958) so it is divisible by the resolution X scale.
  316. *PrintableArea: PAIR(1958, 2632)
  317. }
  318. }
  319. }
  320. }
  321. }
  322. *Option: B5
  323. {
  324. *rcNameID: =B5_DISPLAY
  325. *Command: CmdSelect
  326. {
  327. *Order: DOC_SETUP.4
  328. *Cmd: "<1B>2<1B>C="
  329. }
  330. *switch: InputBin
  331. {
  332. *case: TRACTOR
  333. {
  334. *PrintableArea: PAIR(2441, 3323)
  335. *PrintableOrigin: PAIR(90, 120)
  336. *switch: Resolution
  337. {
  338. *case: Option1
  339. {
  340. *% Warning: the following printable length is adjusted (3323->3322) so it is divisible by the resolution Y scale.
  341. *PrintableArea: PAIR(2441, 3322)
  342. }
  343. *case: Option2
  344. {
  345. *% Warning: the following printable width is adjusted (2441->2440) so it is divisible by the resolution X scale.
  346. *% Warning: the following printable length is adjusted (3323->3322) so it is divisible by the resolution Y scale.
  347. *PrintableArea: PAIR(2440, 3322)
  348. }
  349. *case: Option3
  350. {
  351. *% Warning: the following printable width is adjusted (2441->2439) so it is divisible by the resolution X scale.
  352. *% Warning: the following printable length is adjusted (3323->3322) so it is divisible by the resolution Y scale.
  353. *PrintableArea: PAIR(2439, 3322)
  354. }
  355. }
  356. }
  357. *case: MANUAL
  358. {
  359. *PrintableArea: PAIR(2441, 3298)
  360. *PrintableOrigin: PAIR(90, 120)
  361. *switch: Resolution
  362. {
  363. *case: Option2
  364. {
  365. *% Warning: the following printable width is adjusted (2441->2440) so it is divisible by the resolution X scale.
  366. *PrintableArea: PAIR(2440, 3298)
  367. }
  368. *case: Option3
  369. {
  370. *% Warning: the following printable width is adjusted (2441->2439) so it is divisible by the resolution X scale.
  371. *PrintableArea: PAIR(2439, 3298)
  372. }
  373. }
  374. }
  375. }
  376. }
  377. *Option: CUSTOMSIZE
  378. {
  379. *rcNameID: =USER_DEFINED_SIZE_DISPLAY
  380. *MinSize: PAIR(360, 360)
  381. *MaxSize: PAIR(4140, 32767)
  382. *MaxPrintableWidth: 2880
  383. *MinLeftMargin: 90
  384. *CenterPrintable?: FALSE
  385. *switch: InputBin
  386. {
  387. *case: TRACTOR
  388. {
  389. *TopMargin: 0
  390. *BottomMargin: 0
  391. }
  392. *case: MANUAL
  393. {
  394. *TopMargin: 120
  395. *BottomMargin: 225
  396. }
  397. }
  398. *Command: CmdSelect
  399. {
  400. *Order: DOC_SETUP.4
  401. *Cmd: "<1B>2<1B>C" %c[0,127]{(PhysPaperLength / 60) }
  402. }
  403. }
  404. }
  405. *Feature: Halftone
  406. {
  407. *rcNameID: =HALFTONING_DISPLAY
  408. *DefaultOption: HT_PATSIZE_AUTO
  409. *Option: HT_PATSIZE_AUTO
  410. {
  411. *rcNameID: =HT_AUTO_SELECT_DISPLAY
  412. }
  413. *Option: HT_PATSIZE_SUPERCELL_M
  414. {
  415. *rcNameID: =HT_SUPERCELL_DISPLAY
  416. }
  417. *Option: HT_PATSIZE_6x6_M
  418. {
  419. *rcNameID: =HT_DITHER6X6_DISPLAY
  420. }
  421. *Option: HT_PATSIZE_8x8_M
  422. {
  423. *rcNameID: =HT_DITHER8X8_DISPLAY
  424. }
  425. }
  426. *Command: CmdStartDoc
  427. {
  428. *Order: DOC_SETUP.1
  429. *Cmd: "<1B>@<1B>t<011B>6<1B>R<001B>U<01>"
  430. }
  431. *Command: CmdStartPage
  432. {
  433. *Order: PAGE_SETUP.1
  434. *Cmd: "<0D>"
  435. }
  436. *Command: CmdEndJob
  437. {
  438. *Order: JOB_FINISH.1
  439. *Cmd: "<1B>@"
  440. }
  441. *RotateCoordinate?: FALSE
  442. *RotateRaster?: FALSE
  443. *RotateFont?: FALSE
  444. *switch: Orientation
  445. {
  446. *case: PORTRAIT
  447. {
  448. *TextCaps: LIST(TC_SA_DOUBLE,TC_EA_DOUBLE,TC_IA_ABLE,TC_UA_ABLE,TC_RA_ABLE)
  449. }
  450. *case: LANDSCAPE_CC270
  451. {
  452. *TextCaps: LIST(TC_RA_ABLE)
  453. }
  454. }
  455. *CursorXAfterCR: AT_CURSOR_X_ORIGIN
  456. *YMoveAttributes: LIST(SEND_CR_FIRST)
  457. *MaxLineSpacing: 255
  458. *XMoveThreshold: 0
  459. *YMoveThreshold: *
  460. *XMoveUnit: 60
  461. *YMoveUnit: 180
  462. *Command: CmdXMoveAbsolute { *Cmd : "<1B>$" %l[0,816]{max_repeat((DestX / 6) )} }
  463. *Command: CmdYMoveRelDown { *Cmd : "<1B>J" %c[0,255]{max_repeat((DestYRel / 2) )} }
  464. *Command: CmdSetLineSpacing { *Cmd : "<1B>3" %c[0,255]{(LinefeedSpacing / 2) } }
  465. *Command: CmdCR { *Cmd : "<0D>" }
  466. *Command: CmdLF { *Cmd : "<0A>" }
  467. *Command: CmdFF { *Cmd : "<0C>" }
  468. *Command: CmdBackSpace { *Cmd : "<08>" }
  469. *Command: CmdUniDirectionOn { *Cmd : "<1B>U<01>" }
  470. *Command: CmdUniDirectionOff { *Cmd : "<1B>U<00>" }
  471. *EjectPageWithFF?: TRUE
  472. *OutputDataFormat: V_BYTE
  473. *OptimizeLeftBound?: FALSE
  474. *CursorXAfterSendBlockData: AT_GRXDATA_END
  475. *CursorYAfterSendBlockData: NO_MOVE
  476. *DefaultCTT: 0
  477. *Command: CmdBoldOn { *Cmd : "<1B>E" }
  478. *Command: CmdBoldOff { *Cmd : "<1B>F" }