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.

301 lines
8.8 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: "star100C.gpd"
  9. *CodePage: 1252
  10. *ModelName: "Star AR-1000"
  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: MANUAL
  32. {
  33. *rcNameID: =MANUAL_FEED_DISPLAY
  34. *% Warning: this input bin has PSRC_MAN_PROMPT set in GPC, which is ignored by GPD.
  35. *Command: CmdSelect
  36. {
  37. *Order: DOC_SETUP.3
  38. *Cmd: "<1B1900>"
  39. }
  40. }
  41. }
  42. *Feature: Resolution
  43. {
  44. *rcNameID: =RESOLUTION_DISPLAY
  45. *DefaultOption: Option2
  46. *Option: Option1
  47. {
  48. *Name: "360 x 180 dots per inch"
  49. *DPI: PAIR(360, 180)
  50. *TextDPI: PAIR(360, 180)
  51. *PinsPerLogPass: 24
  52. *PinsPerPhysPass: 24
  53. *MinStripBlankPixels: 180
  54. EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
  55. *% Warning: this resolution has RES_BO_NO_ADJACENT set in GPC, which is ignored by GPD. Custom code is needed.
  56. *SpotDiameter: 170
  57. *Command: CmdSendBlockData { *Cmd : "<1B>*(" %l{NumOfDataBytes / 3} }
  58. }
  59. *Option: Option2
  60. {
  61. *Name: "180 x 180 " =DOTS_PER_INCH
  62. *DPI: PAIR(180, 180)
  63. *TextDPI: PAIR(180, 180)
  64. *PinsPerLogPass: 24
  65. *PinsPerPhysPass: 24
  66. *MinStripBlankPixels: 90
  67. EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,ENCLOSED,TRAILING)
  68. *SpotDiameter: 170
  69. *Command: CmdSendBlockData { *Cmd : "<1B>*'" %l{NumOfDataBytes / 3} }
  70. }
  71. *Option: Option3
  72. {
  73. *Name: "120 x 180 " =DOTS_PER_INCH
  74. *DPI: PAIR(120, 180)
  75. *TextDPI: PAIR(120, 180)
  76. *PinsPerLogPass: 24
  77. *PinsPerPhysPass: 24
  78. *MinStripBlankPixels: 60
  79. EXTERN_GLOBAL: *StripBlanks: LIST(LEADING,TRAILING)
  80. *SpotDiameter: 170
  81. *Command: CmdSendBlockData { *Cmd : "<1B>*!" %l{NumOfDataBytes / 3} }
  82. }
  83. }
  84. *Feature: PaperSize
  85. {
  86. *rcNameID: =PAPER_SIZE_DISPLAY
  87. *DefaultOption: A4
  88. *Option: A4
  89. {
  90. *rcNameID: =A4_DISPLAY
  91. *Command: CmdSelect
  92. {
  93. *Order: DOC_SETUP.4
  94. *Cmd: "<1B>2<1B>CF"
  95. }
  96. *PrintableArea: PAIR(5714, 8160)
  97. *PrintableOrigin: PAIR(120, 120)
  98. *switch: Resolution
  99. {
  100. *case: Option2
  101. {
  102. *% Warning: the following printable width is adjusted (5714->5712) so it is divisible by the resolution X scale.
  103. *% Warning: the following printable length is adjusted (7937->7936) so it is divisible by the resolution Y scale.
  104. *PrintableArea: PAIR(5712, 8160)
  105. }
  106. *case: Option3
  107. {
  108. *% Warning: the following printable width is adjusted (5714->5712) so it is divisible by the resolution X scale.
  109. *% Warning: the following printable length is adjusted (7937->7936) so it is divisible by the resolution Y scale.
  110. *PrintableArea: PAIR(5712, 8160)
  111. }
  112. }
  113. }
  114. *Option: A5
  115. {
  116. *rcNameID: =A5_DISPLAY
  117. *Command: CmdSelect
  118. {
  119. *Order: DOC_SETUP.4
  120. *Cmd: "<1B>2<1B>C2"
  121. }
  122. *PrintableArea: PAIR(3958, 5660)
  123. *PrintableOrigin: PAIR(120, 120)
  124. *switch: Resolution
  125. {
  126. *case: Option2
  127. {
  128. *% Warning: the following printable width is adjusted (3958->3956) so it is divisible by the resolution X scale.
  129. *% Warning: the following printable length is adjusted (5474->5472) so it is divisible by the resolution Y scale.
  130. *PrintableArea: PAIR(3956, 5660)
  131. }
  132. *case: Option3
  133. {
  134. *% Warning: the following printable width is adjusted (3958->3954) so it is divisible by the resolution X scale.
  135. *% Warning: the following printable length is adjusted (5474->5472) so it is divisible by the resolution Y scale.
  136. *PrintableArea: PAIR(3954, 5660)
  137. }
  138. }
  139. }
  140. *Option: B5
  141. {
  142. *rcNameID: =B5_DISPLAY
  143. *Command: CmdSelect
  144. {
  145. *Order: DOC_SETUP.4
  146. *Cmd: "<1B>2<1B>C<3C>"
  147. }
  148. *PrintableArea: PAIR(4922, 7005)
  149. *PrintableOrigin: PAIR(120, 120)
  150. *switch: Resolution
  151. {
  152. *case: Option1
  153. {
  154. *% Warning: the following printable width is adjusted (4922->4920) so it is divisible by the resolution X scale.
  155. *% Warning: the following printable length is adjusted (6806->6804) so it is divisible by the resolution Y scale.
  156. *PrintableArea: PAIR(4920, 7004)
  157. }
  158. *case: Option2
  159. {
  160. *% Warning: the following printable width is adjusted (4922->4920) so it is divisible by the resolution X scale.
  161. *% Warning: the following printable length is adjusted (6806->6804) so it is divisible by the resolution Y scale.
  162. *PrintableArea: PAIR(4920, 7004)
  163. }
  164. *case: Option3
  165. {
  166. *% Warning: the following printable width is adjusted (4922->4920) so it is divisible by the resolution X scale.
  167. *% Warning: the following printable length is adjusted (6806->6804) so it is divisible by the resolution Y scale.
  168. *PrintableArea: PAIR(4920, 7004)
  169. }
  170. }
  171. }
  172. *Option: CUSTOMSIZE
  173. {
  174. *rcNameID: =USER_DEFINED_SIZE_DISPLAY
  175. *MinSize: PAIR(2160, 1800)
  176. *MaxSize: PAIR(5976, 8424)
  177. *MaxPrintableWidth: 5760
  178. *MinLeftMargin: 0
  179. *CenterPrintable?: FALSE
  180. *TopMargin: 120
  181. *BottomMargin: 120
  182. *Command: CmdSelect
  183. {
  184. *Order: DOC_SETUP.4
  185. *Cmd: "<1B>2<1B>C" %c[0,127]{max_repeat((PhysPaperLength / 120) )}
  186. }
  187. }
  188. }
  189. *Feature: PrintQuality
  190. {
  191. *rcNameID: =TEXT_QUALITY_DISPLAY
  192. *DefaultOption: LETTER_QUALITY
  193. *Option: LETTER_QUALITY
  194. {
  195. *rcNameID: =LETTER_QUALITY_DISPLAY
  196. *Command: CmdSelect
  197. {
  198. *Order: DOC_SETUP.2
  199. *Cmd: "<1B>x1"
  200. }
  201. }
  202. *Option: DRAFT_QUALITY
  203. {
  204. *rcNameID: =DRAFT_QUALITY_DISPLAY
  205. *Command: CmdSelect
  206. {
  207. *Order: DOC_SETUP.2
  208. *Cmd: "<1B>x0"
  209. }
  210. }
  211. }
  212. *Feature: Halftone
  213. {
  214. *rcNameID: =HALFTONING_DISPLAY
  215. *DefaultOption: HT_PATSIZE_AUTO
  216. *Option: HT_PATSIZE_AUTO
  217. {
  218. *rcNameID: =HT_AUTO_SELECT_DISPLAY
  219. }
  220. *Option: HT_PATSIZE_SUPERCELL_M
  221. {
  222. *rcNameID: =HT_SUPERCELL_DISPLAY
  223. }
  224. *Option: HT_PATSIZE_6x6_M
  225. {
  226. *rcNameID: =HT_DITHER6X6_DISPLAY
  227. }
  228. *Option: HT_PATSIZE_8x8_M
  229. {
  230. *rcNameID: =HT_DITHER8X8_DISPLAY
  231. }
  232. }
  233. *Command: CmdStartDoc
  234. {
  235. *Order: DOC_SETUP.1
  236. *Cmd: "<1B>@<1C>.<1B>t<011B>6<1B>r<00><1C>&"
  237. }
  238. *Command: CmdStartPage
  239. {
  240. *Order: PAGE_SETUP.1
  241. *Cmd: "<0D>"
  242. }
  243. *Command: CmdEndJob
  244. {
  245. *Order: JOB_FINISH.1
  246. *Cmd: "<1B>@"
  247. }
  248. *RotateCoordinate?: FALSE
  249. *RotateRaster?: FALSE
  250. *RotateFont?: FALSE
  251. *switch: Orientation
  252. {
  253. *case: PORTRAIT
  254. {
  255. *TextCaps: LIST(TC_OP_CHARACTER,TC_EA_DOUBLE,TC_IA_ABLE,TC_UA_ABLE,TC_RA_ABLE)
  256. }
  257. *case: LANDSCAPE_CC270
  258. {
  259. *TextCaps: LIST(TC_RA_ABLE)
  260. }
  261. }
  262. *CursorXAfterCR: AT_CURSOR_X_ORIGIN
  263. *YMoveAttributes: LIST(SEND_CR_FIRST,FAVOR_LF)
  264. *MaxLineSpacing: 255
  265. *XMoveThreshold: 0
  266. *YMoveThreshold: *
  267. *XMoveUnit: 60
  268. *YMoveUnit: 180
  269. *Command: CmdXMoveAbsolute { *Cmd : "<1B>$" %l{(DestX / 12) } }
  270. *Command: CmdYMoveRelDown { *Cmd : "<1B>J" %c[1,255]{max_repeat((DestYRel / 4) )} }
  271. *Command: CmdSetLineSpacing { *Cmd : "<1B>3" %c[0,255]{(LinefeedSpacing / 4) } }
  272. *Command: CmdCR { *Cmd : "<0D>" }
  273. *Command: CmdLF { *Cmd : "<0A>" }
  274. *Command: CmdFF { *Cmd : "<0C>" }
  275. *Command: CmdBackSpace { *Cmd : "<08>" }
  276. *Command: CmdUniDirectionOn { *Cmd : "<1B>U1" }
  277. *Command: CmdUniDirectionOff { *Cmd : "<1B>U0" }
  278. *EjectPageWithFF?: TRUE
  279. *OutputDataFormat: V_BYTE
  280. *OptimizeLeftBound?: TRUE
  281. *CursorXAfterSendBlockData: AT_GRXDATA_END
  282. *CursorYAfterSendBlockData: NO_MOVE
  283. *DefaultFont: 1
  284. *DefaultCTT: 0
  285. *switch: Orientation
  286. {
  287. *case: PORTRAIT
  288. {
  289. *DeviceFonts: LIST(1,2,3,4,5,8,9,10,11)
  290. }
  291. *case: LANDSCAPE_CC270
  292. {
  293. *DeviceFonts: LIST()
  294. }
  295. }
  296. *Command: CmdBoldOn { *Cmd : "<1B>E" }
  297. *Command: CmdBoldOff { *Cmd : "<1B>F" }
  298. *Command: CmdItalicOn { *Cmd : "<1B>4" }
  299. *Command: CmdItalicOff { *Cmd : "<1B>5" }
  300. *Command: CmdUnderlineOn { *Cmd : "<1B>-<011C>-<01>" }
  301. *Command: CmdUnderlineOff { *Cmd : "<1B>-<001C>-<00>" }