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.

572 lines
19 KiB

  1. *%
  2. *% Copyright (c) 1997 - 1999 Microsoft Corporation
  3. *% All Rights Reserved.
  4. *%
  5. *GPDSpecVersion: "1.0"
  6. *CodePage: 1252
  7. *GPDFileVersion: "1.0"
  8. *GPDFileName: "star240C.gpd"
  9. *Include: "STDNAMES.GPD"
  10. *ModelName: "Star AR-2400"
  11. *MasterUnits: PAIR(720, 720)
  12. *ResourceDLL: "st24cres.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: MANUAL
  31. *Option: Option1
  32. {
  33. *rcNameID: 270
  34. *OptionID: 270
  35. }
  36. *Option: Option2
  37. {
  38. *rcNameID: 272
  39. *OptionID: 272
  40. *Command: CmdSelect
  41. {
  42. *Order: DOC_SETUP.3
  43. *Cmd: "<1B1904>"
  44. }
  45. }
  46. *Option: MANUAL
  47. {
  48. *rcNameID: =MANUAL_FEED_DISPLAY
  49. *% Warning: this input bin has PSRC_MAN_PROMPT set in GPC, which is ignored by GPD.
  50. *Command: CmdSelect
  51. {
  52. *Order: DOC_SETUP.3
  53. *Cmd: "<1B1900>"
  54. }
  55. }
  56. }
  57. *Feature: Resolution
  58. {
  59. *rcNameID: =RESOLUTION_DISPLAY
  60. *DefaultOption: Option2
  61. *Option: Option1
  62. {
  63. *Name: "360 x 180 dots per inch"
  64. *DPI: PAIR(360, 180)
  65. *TextDPI: PAIR(360, 180)
  66. *PinsPerLogPass: 24
  67. *PinsPerPhysPass: 24
  68. *MinStripBlankPixels: 180
  69. EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
  70. *% Warning: this resolution has RES_BO_NO_ADJACENT set in GPC, which is ignored by GPD. Custom code is needed.
  71. *SpotDiameter: 170
  72. *Command: CmdSendBlockData { *Cmd : "<1B>*(" %l{NumOfDataBytes / 3} }
  73. }
  74. *Option: Option2
  75. {
  76. *Name: "180 x 180 dots per inch"
  77. *DPI: PAIR(180, 180)
  78. *TextDPI: PAIR(180, 180)
  79. *PinsPerLogPass: 24
  80. *PinsPerPhysPass: 24
  81. *MinStripBlankPixels: 90
  82. EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
  83. *SpotDiameter: 170
  84. *Command: CmdSendBlockData { *Cmd : "<1B>*'" %l{NumOfDataBytes / 3} }
  85. }
  86. *Option: Option3
  87. {
  88. *Name: "120 x 180 dots per inch"
  89. *DPI: PAIR(120, 180)
  90. *TextDPI: PAIR(120, 180)
  91. *PinsPerLogPass: 24
  92. *PinsPerPhysPass: 24
  93. *MinStripBlankPixels: 60
  94. EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,TRAILING)
  95. *SpotDiameter: 170
  96. *Command: CmdSendBlockData { *Cmd : "<1B>*!" %l{NumOfDataBytes / 3} }
  97. }
  98. }
  99. *Feature: PaperSize
  100. {
  101. *rcNameID: =PAPER_SIZE_DISPLAY
  102. *DefaultOption: A4
  103. *Option: A4
  104. {
  105. *rcNameID: =A4_DISPLAY
  106. *Command: CmdSelect
  107. {
  108. *Order: DOC_SETUP.4
  109. *Cmd: "<1B>2<1B>CF"
  110. }
  111. *switch: InputBin
  112. {
  113. *case: Option1
  114. {
  115. *PrintableArea: PAIR(5714, 8416)
  116. *PrintableOrigin: PAIR(120, 0)
  117. *switch: Resolution
  118. {
  119. *case: Option1
  120. {
  121. *% Warning: the following printable length is adjusted (8417->8416) so it is divisible by the resolution Y scale.
  122. *PrintableArea: PAIR(5714, 8416)
  123. }
  124. *case: Option2
  125. {
  126. *% Warning: the following printable width is adjusted (5714->5712) so it is divisible by the resolution X scale.
  127. *% Warning: the following printable length is adjusted (8417->8416) so it is divisible by the resolution Y scale.
  128. *PrintableArea: PAIR(5712, 8416)
  129. }
  130. *case: Option3
  131. {
  132. *% Warning: the following printable width is adjusted (5714->5712) so it is divisible by the resolution X scale.
  133. *% Warning: the following printable length is adjusted (8417->8416) so it is divisible by the resolution Y scale.
  134. *PrintableArea: PAIR(5712, 8416)
  135. }
  136. }
  137. }
  138. *case: Option2
  139. {
  140. *PrintableArea: PAIR(5714, 7584)
  141. *PrintableOrigin: PAIR(120, 624)
  142. *switch: Resolution
  143. {
  144. *case: Option1
  145. {
  146. *% Warning: the following printable length is adjusted (7433->7432) so it is divisible by the resolution Y scale.
  147. *PrintableArea: PAIR(5714, 7584)
  148. }
  149. *case: Option2
  150. {
  151. *% Warning: the following printable width is adjusted (5714->5712) so it is divisible by the resolution X scale.
  152. *% Warning: the following printable length is adjusted (7433->7432) so it is divisible by the resolution Y scale.
  153. *PrintableArea: PAIR(5712, 7584)
  154. }
  155. *case: Option3
  156. {
  157. *% Warning: the following printable width is adjusted (5714->5712) so it is divisible by the resolution X scale.
  158. *% Warning: the following printable length is adjusted (7433->7432) so it is divisible by the resolution Y scale.
  159. *PrintableArea: PAIR(5712, 7584)
  160. }
  161. }
  162. }
  163. *case: MANUAL
  164. {
  165. *PrintableArea: PAIR(5714, 7584)
  166. *PrintableOrigin: PAIR(120, 624)
  167. *switch: Resolution
  168. {
  169. *case: Option1
  170. {
  171. *% Warning: the following printable length is adjusted (7433->7432) so it is divisible by the resolution Y scale.
  172. *PrintableArea: PAIR(5714, 7584)
  173. }
  174. *case: Option2
  175. {
  176. *% Warning: the following printable width is adjusted (5714->5712) so it is divisible by the resolution X scale.
  177. *% Warning: the following printable length is adjusted (7433->7432) so it is divisible by the resolution Y scale.
  178. *PrintableArea: PAIR(5712, 7584)
  179. }
  180. *case: Option3
  181. {
  182. *% Warning: the following printable width is adjusted (5714->5712) so it is divisible by the resolution X scale.
  183. *% Warning: the following printable length is adjusted (7433->7432) so it is divisible by the resolution Y scale.
  184. *PrintableArea: PAIR(5712, 7584)
  185. }
  186. }
  187. }
  188. }
  189. }
  190. *Option: A5
  191. {
  192. *rcNameID: =A5_DISPLAY
  193. *Command: CmdSelect
  194. {
  195. *Order: DOC_SETUP.4
  196. *Cmd: "<1B>2<1B>C2"
  197. }
  198. *switch: InputBin
  199. {
  200. *case: Option1
  201. {
  202. *PrintableArea: PAIR(3958, 5954)
  203. *PrintableOrigin: PAIR(120, 0)
  204. *switch: Resolution
  205. {
  206. *case: Option1
  207. {
  208. *% Warning: the following printable length is adjusted (5954->5952) so it is divisible by the resolution Y scale.
  209. *PrintableArea: PAIR(3958, 5952)
  210. }
  211. *case: Option2
  212. {
  213. *% Warning: the following printable width is adjusted (3958->3956) so it is divisible by the resolution X scale.
  214. *% Warning: the following printable length is adjusted (5954->5952) so it is divisible by the resolution Y scale.
  215. *PrintableArea: PAIR(3956, 5952)
  216. }
  217. *case: Option3
  218. {
  219. *% Warning: the following printable width is adjusted (3958->3954) so it is divisible by the resolution X scale.
  220. *% Warning: the following printable length is adjusted (5954->5952) so it is divisible by the resolution Y scale.
  221. *PrintableArea: PAIR(3954, 5952)
  222. }
  223. }
  224. }
  225. *case: Option2
  226. {
  227. *PrintableArea: PAIR(3958, 5130)
  228. *PrintableOrigin: PAIR(120, 624)
  229. *switch: Resolution
  230. {
  231. *case: Option1
  232. {
  233. *% Warning: the following printable length is adjusted (4970->4968) so it is divisible by the resolution Y scale.
  234. *PrintableArea: PAIR(3958, 5128)
  235. }
  236. *case: Option2
  237. {
  238. *% Warning: the following printable width is adjusted (3958->3956) so it is divisible by the resolution X scale.
  239. *% Warning: the following printable length is adjusted (4970->4968) so it is divisible by the resolution Y scale.
  240. *PrintableArea: PAIR(3956, 5128)
  241. }
  242. *case: Option3
  243. {
  244. *% Warning: the following printable width is adjusted (3958->3954) so it is divisible by the resolution X scale.
  245. *% Warning: the following printable length is adjusted (4970->4968) so it is divisible by the resolution Y scale.
  246. *PrintableArea: PAIR(3954, 5128)
  247. }
  248. }
  249. }
  250. *case: MANUAL
  251. {
  252. *PrintableArea: PAIR(3958, 5130)
  253. *PrintableOrigin: PAIR(120, 624)
  254. *switch: Resolution
  255. {
  256. *case: Option1
  257. {
  258. *% Warning: the following printable length is adjusted (4970->4968) so it is divisible by the resolution Y scale.
  259. *PrintableArea: PAIR(3958, 5128)
  260. }
  261. *case: Option2
  262. {
  263. *% Warning: the following printable width is adjusted (3958->3956) so it is divisible by the resolution X scale.
  264. *% Warning: the following printable length is adjusted (4970->4968) so it is divisible by the resolution Y scale.
  265. *PrintableArea: PAIR(3956, 5128)
  266. }
  267. *case: Option3
  268. {
  269. *% Warning: the following printable width is adjusted (3958->3954) so it is divisible by the resolution X scale.
  270. *% Warning: the following printable length is adjusted (4970->4968) so it is divisible by the resolution Y scale.
  271. *PrintableArea: PAIR(3954, 5128)
  272. }
  273. }
  274. }
  275. }
  276. }
  277. *Option: B5
  278. {
  279. *rcNameID: =B5_DISPLAY
  280. *Command: CmdSelect
  281. {
  282. *Order: DOC_SETUP.4
  283. *Cmd: "<1B>2<1B>C<3C>"
  284. }
  285. *switch: InputBin
  286. {
  287. *case: Option1
  288. {
  289. *PrintableArea: PAIR(4922, 7286)
  290. *PrintableOrigin: PAIR(120, 0)
  291. *switch: Resolution
  292. {
  293. *case: Option1
  294. {
  295. *% Warning: the following printable length is adjusted (7286->7284) so it is divisible by the resolution Y scale.
  296. *PrintableArea: PAIR(4922, 7284)
  297. }
  298. *case: Option2
  299. {
  300. *% Warning: the following printable width is adjusted (4922->4920) so it is divisible by the resolution X scale.
  301. *% Warning: the following printable length is adjusted (7286->7284) so it is divisible by the resolution Y scale.
  302. *PrintableArea: PAIR(4920, 7284)
  303. }
  304. *case: Option3
  305. {
  306. *% Warning: the following printable width is adjusted (4922->4920) so it is divisible by the resolution X scale.
  307. *% Warning: the following printable length is adjusted (7286->7284) so it is divisible by the resolution Y scale.
  308. *PrintableArea: PAIR(4920, 7284)
  309. }
  310. }
  311. }
  312. *case: Option2
  313. {
  314. *PrintableArea: PAIR(4922, 6430)
  315. *PrintableOrigin: PAIR(120, 624)
  316. *switch: Resolution
  317. {
  318. *case: Option1
  319. {
  320. *% Warning: the following printable length is adjusted (6302->6300) so it is divisible by the resolution Y scale.
  321. *PrintableArea: PAIR(4922, 6428)
  322. }
  323. *case: Option2
  324. {
  325. *% Warning: the following printable width is adjusted (4922->4920) so it is divisible by the resolution X scale.
  326. *% Warning: the following printable length is adjusted (6302->6300) so it is divisible by the resolution Y scale.
  327. *PrintableArea: PAIR(4920, 6428)
  328. }
  329. *case: Option3
  330. {
  331. *% Warning: the following printable width is adjusted (4922->4920) so it is divisible by the resolution X scale.
  332. *% Warning: the following printable length is adjusted (6302->6300) so it is divisible by the resolution Y scale.
  333. *PrintableArea: PAIR(4920, 6428)
  334. }
  335. }
  336. }
  337. *case: MANUAL
  338. {
  339. *PrintableArea: PAIR(4922, 6430)
  340. *PrintableOrigin: PAIR(120, 624)
  341. *switch: Resolution
  342. {
  343. *case: Option1
  344. {
  345. *% Warning: the following printable length is adjusted (6302->6300) so it is divisible by the resolution Y scale.
  346. *PrintableArea: PAIR(4922, 6428)
  347. }
  348. *case: Option2
  349. {
  350. *% Warning: the following printable width is adjusted (4922->4920) so it is divisible by the resolution X scale.
  351. *% Warning: the following printable length is adjusted (6302->6300) so it is divisible by the resolution Y scale.
  352. *PrintableArea: PAIR(4920, 6428)
  353. }
  354. *case: Option3
  355. {
  356. *% Warning: the following printable width is adjusted (4922->4920) so it is divisible by the resolution X scale.
  357. *% Warning: the following printable length is adjusted (6302->6300) so it is divisible by the resolution Y scale.
  358. *PrintableArea: PAIR(4920, 6428)
  359. }
  360. }
  361. }
  362. }
  363. }
  364. *% "Fanfold 9 x 11 inch"
  365. *Option: Option4
  366. {
  367. *rcNameID: 266
  368. *OptionID: 266
  369. *PageDimensions: PAIR(6480, 7920)
  370. *Command: CmdSelect
  371. {
  372. *Order: DOC_SETUP.4
  373. *Cmd: "<1B>2<1B>CB"
  374. }
  375. *switch: InputBin
  376. {
  377. *case: Option1
  378. {
  379. *PrintableArea: PAIR(5760,7920)
  380. *PrintableOrigin: PAIR(360, 0)
  381. }
  382. *case: Option2
  383. {
  384. *PrintableArea: PAIR(5760, 7124)
  385. *PrintableOrigin: PAIR(360, 624)
  386. }
  387. *case: MANUAL
  388. {
  389. *PrintableArea: PAIR(5760, 7124)
  390. *PrintableOrigin: PAIR(360, 624)
  391. }
  392. }
  393. }
  394. *% "Fanfold 9 x 12 inch"
  395. *Option: Option5
  396. {
  397. *rcNameID: 274
  398. *OptionID: 274
  399. *PageDimensions: PAIR(6480, 8640)
  400. *Command: CmdSelect
  401. {
  402. *Order: DOC_SETUP.4
  403. *Cmd: "<1B>2<1B>CH"
  404. }
  405. *switch: InputBin
  406. {
  407. *case: Option1
  408. {
  409. *PrintableArea: PAIR(5760, 8640)
  410. *PrintableOrigin: PAIR(360, 0)
  411. }
  412. *case: Option2
  413. {
  414. *PrintableArea: PAIR(5760, 7840)
  415. *PrintableOrigin: PAIR(360, 624)
  416. }
  417. *case: MANUAL
  418. {
  419. *PrintableArea: PAIR(5760, 7840)
  420. *PrintableOrigin: PAIR(360, 624)
  421. }
  422. }
  423. }
  424. *Option: CUSTOMSIZE
  425. {
  426. *rcNameID: =USER_DEFINED_SIZE_DISPLAY
  427. *MinSize: PAIR(2880, 3960)
  428. *MaxSize: PAIR(7200, 15840)
  429. *MaxPrintableWidth: 5760
  430. *MinLeftMargin: 0
  431. *CenterPrintable?: FALSE
  432. *switch: InputBin
  433. {
  434. *case: Option1
  435. {
  436. *TopMargin: 0
  437. *BottomMargin: 0
  438. }
  439. *case: Option2
  440. {
  441. *TopMargin: 624
  442. *BottomMargin: 170
  443. }
  444. *case: MANUAL
  445. {
  446. *TopMargin: 624
  447. *BottomMargin: 170
  448. }
  449. }
  450. *Command: CmdSelect
  451. {
  452. *Order: DOC_SETUP.4
  453. *Cmd: "<1B>2<1B>C" %c[0,127]{max_repeat((PhysPaperLength / 120) )}
  454. }
  455. }
  456. }
  457. *InvalidCombination: LIST(InputBin.Option1, PaperSize.A4)
  458. *InvalidCombination: LIST(InputBin.Option1, PaperSize.A5)
  459. *InvalidCombination: LIST(InputBin.Option1, PaperSize.B5)
  460. *Feature: PrintQuality
  461. {
  462. *rcNameID: =TEXT_QUALITY_DISPLAY
  463. *DefaultOption: LETTER_QUALITY
  464. *Option: LETTER_QUALITY
  465. {
  466. *rcNameID: =LETTER_QUALITY_DISPLAY
  467. *Command: CmdSelect
  468. {
  469. *Order: DOC_SETUP.2
  470. *Cmd: "<1B>x1"
  471. }
  472. }
  473. *Option: DRAFT_QUALITY
  474. {
  475. *rcNameID: =DRAFT_QUALITY_DISPLAY
  476. *Command: CmdSelect
  477. {
  478. *Order: DOC_SETUP.2
  479. *Cmd: "<1B>x0"
  480. }
  481. }
  482. }
  483. *Feature: Halftone
  484. {
  485. *rcNameID: =HALFTONING_DISPLAY
  486. *DefaultOption: HT_PATSIZE_AUTO
  487. *Option: HT_PATSIZE_AUTO
  488. {
  489. *rcNameID: =HT_AUTO_SELECT_DISPLAY
  490. }
  491. *Option: HT_PATSIZE_SUPERCELL_M
  492. {
  493. *rcNameID: =HT_SUPERCELL_DISPLAY
  494. }
  495. *Option: HT_PATSIZE_6x6_M
  496. {
  497. *rcNameID: =HT_DITHER6X6_DISPLAY
  498. }
  499. *Option: HT_PATSIZE_8x8_M
  500. {
  501. *rcNameID: =HT_DITHER8X8_DISPLAY
  502. }
  503. }
  504. *Command: CmdStartDoc
  505. {
  506. *Order: DOC_SETUP.1
  507. *Cmd: "<1B>@<1C>.<1B>t<011B>6<1B>r<00><1C>&"
  508. }
  509. *Command: CmdStartPage
  510. {
  511. *Order: PAGE_SETUP.1
  512. *Cmd: "<0D>"
  513. }
  514. *Command: CmdEndJob
  515. {
  516. *Order: JOB_FINISH.1
  517. *Cmd: "<0D>"
  518. }
  519. *RotateCoordinate?: FALSE
  520. *RotateRaster?: FALSE
  521. *RotateFont?: FALSE
  522. *switch: Orientation
  523. {
  524. *case: PORTRAIT
  525. {
  526. *TextCaps: LIST(TC_OP_CHARACTER,TC_EA_DOUBLE,TC_IA_ABLE,TC_UA_ABLE,TC_RA_ABLE)
  527. }
  528. *case: LANDSCAPE_CC270
  529. {
  530. *TextCaps: LIST(TC_RA_ABLE)
  531. }
  532. }
  533. *CursorXAfterCR: AT_CURSOR_X_ORIGIN
  534. *YMoveAttributes: LIST(SEND_CR_FIRST,FAVOR_LF)
  535. *MaxLineSpacing: 255
  536. *XMoveThreshold: 0
  537. *YMoveThreshold: *
  538. *XMoveUnit: 60
  539. *YMoveUnit: 180
  540. *Command: CmdXMoveAbsolute { *Cmd : "<1B>$" %l{(DestX / 12) } }
  541. *Command: CmdYMoveRelDown { *Cmd : "<1B>J" %c[1,255]{max_repeat((DestYRel / 4) )} }
  542. *Command: CmdSetLineSpacing { *Cmd : "<1B>3" %c[0,255]{(LinefeedSpacing / 4) } }
  543. *Command: CmdCR { *Cmd : "<0D>" }
  544. *Command: CmdLF { *Cmd : "<0A>" }
  545. *Command: CmdFF { *Cmd : "<0C>" }
  546. *Command: CmdBackSpace { *Cmd : "<08>" }
  547. *Command: CmdUniDirectionOn { *Cmd : "<1B>U1" }
  548. *Command: CmdUniDirectionOff { *Cmd : "<1B>U0" }
  549. *EjectPageWithFF?: TRUE
  550. *OutputDataFormat: V_BYTE
  551. *OptimizeLeftBound?: TRUE
  552. *CursorXAfterSendBlockData: AT_GRXDATA_END
  553. *CursorYAfterSendBlockData: NO_MOVE
  554. *DefaultFont: 1
  555. *DefaultCTT: 0
  556. *switch: Orientation
  557. {
  558. *case: PORTRAIT
  559. {
  560. *DeviceFonts: LIST(1,2,3,4,5,8,9,10,11)
  561. }
  562. *case: LANDSCAPE_CC270
  563. {
  564. *DeviceFonts: LIST()
  565. }
  566. }
  567. *Command: CmdBoldOn { *Cmd : "<1B>E" }
  568. *Command: CmdBoldOff { *Cmd : "<1B>F" }
  569. *Command: CmdItalicOn { *Cmd : "<1B>4" }
  570. *Command: CmdItalicOff { *Cmd : "<1B>5" }
  571. *Command: CmdUnderlineOn { *Cmd : "<1B>-<011C>-<01>" }
  572. *Command: CmdUnderlineOff { *Cmd : "<1B>-<001C>-<00>" }