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.

211 lines
8.2 KiB

  1. /* @(#)CM_VerSion xcf_txop.h atm08 1.3 16293.eco sum= 17208 atm08.004 */
  2. /***********************************************************************/
  3. /* */
  4. /* Copyright 1990-1995 Adobe Systems Incorporated. */
  5. /* All rights reserved. */
  6. /* */
  7. /* Patents Pending */
  8. /* */
  9. /* NOTICE: All information contained herein is the property of Adobe */
  10. /* Systems Incorporated. Many of the intellectual and technical */
  11. /* concepts contained herein are proprietary to Adobe, are protected */
  12. /* as trade secrets, and are made available only to Adobe licensees */
  13. /* for their internal use. Any reproduction or dissemination of this */
  14. /* software is strictly forbidden unless prior written permission is */
  15. /* obtained from Adobe. */
  16. /* */
  17. /* PostScript and Display PostScript are trademarks of Adobe Systems */
  18. /* Incorporated or its subsidiaries and may be registered in certain */
  19. /* jurisdictions. */
  20. /* */
  21. /***********************************************************************/
  22. /*
  23. * Type 1 and 2 charstring operators.
  24. *
  25. * The Type 2 operator set was derived from the Type 1 set by the removal of
  26. * some old operators and the addition of new operators. In some cases the
  27. * functionality of retained operators has also been extended by utilizing
  28. * operand count information. Spare (unassigned) operators are shown reserved.
  29. *
  30. * Macro prefixes:
  31. *
  32. * tx_ Shared by Type 1 and Type 2
  33. * t1_ Found in Type 1 only
  34. * t2_ Found in Type 2 only
  35. */
  36. #ifndef TXOPS_H
  37. #define TXOPS_H
  38. /* --- One byte operators (0-31) --- */
  39. /* Type 2 */
  40. #define tx_reserved0 0 /* Reserved */
  41. #define tx_hstem 1
  42. #define t2_reserved2 2 /* Reserved (Cube compose) */
  43. #define tx_vstem 3
  44. #define tx_vmoveto 4
  45. #define tx_rlineto 5
  46. #define tx_hlineto 6
  47. #define tx_vlineto 7
  48. #define tx_rrcurveto 8
  49. #define t2_reserved9 9 /* Reserved */
  50. #define tx_callsubr 10
  51. #define tx_return 11
  52. #define tx_escape 12
  53. #define t2_reserved13 13 /* Reserved */
  54. #define tx_endchar 14
  55. #define t2_reserved15 15 /* Reserved */
  56. #define t2_blend 16
  57. #define t2_reserved17 17 /* Reserved */
  58. #define t2_hstemhm 18
  59. #define t2_hintmask 19
  60. #define t2_cntrmask 20
  61. #define tx_rmoveto 21
  62. #define tx_hmoveto 22
  63. #define t2_vstemhm 23
  64. #define t2_rcurveline 24
  65. #define t2_rlinecurve 25
  66. #define t2_vvcurveto 26
  67. #define t2_hhcurveto 27
  68. #define t2_shortint 28
  69. #define t2_callgsubr 29
  70. #define tx_vhcurveto 30
  71. #define tx_hvcurveto 31
  72. /* Type 1 (where different from above) */
  73. #define t1_compose 2
  74. #define t1_closepath 9
  75. #define t1_hsbw 13
  76. #define t1_moveto 15 /* Not in Black Book, used in a few fonts */
  77. #define t1_reserved16 16
  78. #define t1_curveto 17 /* Not in Black Book, used in a few fonts */
  79. #define t1_reserved18 18
  80. #define t1_reserved19 19
  81. #define t1_reserved20 20
  82. #define t1_reserved23 23
  83. #define t1_reserved24 24
  84. #define t1_reserved25 25
  85. #define t1_reserved26 26
  86. #define t1_reserved27 27
  87. #define t1_reserved28 28
  88. #define t1_reserved29 29
  89. /* --- Two byte operators --- */
  90. /* Make escape operator value; may be redefined to suit implementation */
  91. #ifndef tx_ESC
  92. #define tx_ESC(op) (tx_escape<<8|(op))
  93. #endif
  94. /* Type 2 */
  95. #define tx_dotsection tx_ESC(0)
  96. #define t2_reservedESC1 tx_ESC(1) /* Reserved */
  97. #define t2_reservedESC2 tx_ESC(2) /* Reserved */
  98. #define tx_and tx_ESC(3)
  99. #define tx_or tx_ESC(4)
  100. #define tx_not tx_ESC(5)
  101. #define t2_reservedESC6 tx_ESC(6) /* Reserved */
  102. #define t2_reservedESC7 tx_ESC(7) /* Reserved */
  103. #define tx_store tx_ESC(8)
  104. #define tx_abs tx_ESC(9)
  105. #define tx_add tx_ESC(10)
  106. #define tx_sub tx_ESC(11)
  107. #define tx_div tx_ESC(12)
  108. #define tx_load tx_ESC(13)
  109. #define tx_neg tx_ESC(14)
  110. #define tx_eq tx_ESC(15)
  111. #define t2_reservedESC16 tx_ESC(16) /* Reserved */
  112. #define t2_reservedESC17 tx_ESC(17)
  113. #define tx_drop tx_ESC(18)
  114. #define t2_reservedESC19 tx_ESC(19) /* Reserved (Cube setwv) */
  115. #define tx_put tx_ESC(20)
  116. #define tx_get tx_ESC(21)
  117. #define tx_ifelse tx_ESC(22)
  118. #define tx_random tx_ESC(23)
  119. #define tx_mul tx_ESC(24)
  120. #define tx_reservedESC25 tx_ESC(25)
  121. #define tx_sqrt tx_ESC(26)
  122. #define tx_dup tx_ESC(27)
  123. #define tx_exch tx_ESC(28)
  124. #define tx_index tx_ESC(29)
  125. #define tx_roll tx_ESC(30)
  126. #define tx_reservedESC31 tx_ESC(31) /* Reserved (Cube rotate) */
  127. #define tx_reservedESC32 tx_ESC(32) /* Reserved (Cube attach) */
  128. #define t2_reservedESC33 tx_ESC(33) /* Reserved */
  129. #define t2_hflex tx_ESC(34)
  130. #define t2_flex tx_ESC(35)
  131. #define t2_hflex1 tx_ESC(36)
  132. #define t2_flex1 tx_ESC(37)
  133. #define t2_cntron tx_ESC(38)
  134. /* 39-255 Reserved */
  135. /* Type 1 (where different from above) */
  136. #define t1_vstem3 tx_ESC(1)
  137. #define t1_hstem3 tx_ESC(2)
  138. #define t1_seac tx_ESC(6)
  139. #define t1_sbw tx_ESC(7)
  140. #define t1_callother tx_ESC(16)
  141. #define t1_pop tx_ESC(17)
  142. #define t1_setwv tx_ESC(19)
  143. #define t1_div2 tx_ESC(25)
  144. #define t1_setcurrentpt tx_ESC(33)
  145. /* --- Othersubrs --- */
  146. /* Type 1 */
  147. #define t1_otherFlex 0
  148. #define t1_otherPreflex1 1
  149. #define t1_otherPreflex2 2
  150. #define t1_otherHintSubs 3
  151. #define t1_otherUniqueId 4
  152. #define t1_otherGlobalColor 6
  153. #define t1_otherReserved7 7
  154. #define t1_otherReserved8 8
  155. #define t1_otherReserved9 9
  156. #define t1_otherReserved10 10
  157. #define t1_otherReserved11 11
  158. #define t1_otherCntr1 12
  159. #define t1_otherCntr2 13
  160. #define t1_otherBlend1 14
  161. #define t1_otherBlend2 15
  162. #define t1_otherBlend3 16
  163. #define t1_otherBlend4 17
  164. #define t1_otherBlend6 18
  165. #define t1_otherStoreWV 19
  166. #define t1_otherAdd 20
  167. #define t1_otherSub 21
  168. #define t1_otherMul 22
  169. #define t1_otherDiv 23
  170. #define t1_otherPut 24
  171. #define t1_otherGet 25
  172. #define t1_otherPSPut 26
  173. #define t1_otherIfelse 27
  174. #define t1_otherRandom 28
  175. #define t1_otherDup 29
  176. #define t1_otherExch 30
  177. /* Return operator size from definition (doesn't handle mask or number ops) */
  178. #define TXOPSIZE(op) (((op)&0xff00)?2:1)
  179. /* --- Interpreter limits/definitions --- */
  180. #define T2_MAX_OP_STACK 48 /* Max operand stack depth */
  181. #define TX_MAX_CALL_STACK 10 /* Max callsubr stack depth */
  182. #define T2_MAX_STEMS 96 /* Max stems */
  183. #define TX_MAX_MASTERS 16 /* Max master designs */
  184. #define TX_MAX_AXES 15 /* Max design axes */
  185. #define TX_MAX_AXIS_MAPS 12 /* Max axis maps (piecewise division) */
  186. #define TX_STD_FLEX_HEIGHT 50 /* Standard flex height (100ths/pixel) */
  187. #define TX_MAX_BLUE_VALUES 14 /* 14 values (7 pairs) */
  188. /* load/store registry ids */
  189. #define TX_REG_WV 0 /* WeightVector */
  190. #define TX_REG_NDV 1 /* NormalizedDesignVector */
  191. #define TX_REG_UDV 2 /* UserDesignVector */
  192. /* Type 1 (where different from above) */
  193. #define T1_MAX_OP_STACK 24 /* Max operand stack depth */
  194. #define T1_MAX_AXES 4 /* Max design axes */
  195. #endif /* TXOPS_H */