DictionaryKeys.cs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. #region MIT License
  2. /*Copyright (c) 2012 Robert Rouhani <robert.rouhani@gmail.com>
  3. SharpFont based on Tao.FreeType, Copyright (c) 2003-2007 Tao Framework Team
  4. Permission is hereby granted, free of charge, to any person obtaining a copy of
  5. this software and associated documentation files (the "Software"), to deal in
  6. the Software without restriction, including without limitation the rights to
  7. use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
  8. of the Software, and to permit persons to whom the Software is furnished to do
  9. so, subject to the following conditions:
  10. The above copyright notice and this permission notice shall be included in all
  11. copies or substantial portions of the Software.
  12. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  13. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  14. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  15. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  16. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  17. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  18. SOFTWARE.*/
  19. #endregion
  20. using System;
  21. namespace SharpFont.PostScript
  22. {
  23. /// <summary>
  24. /// An enumeration used in calls to <see cref="Face.GetPSFontValue"/> to identify the Type 1 dictionary entry to
  25. /// retrieve.
  26. /// </summary>
  27. /// <see href="http://partners.adobe.com/public/developer/en/font/T1_SPEC.PDF"/>
  28. public enum DictionaryKeys
  29. {
  30. /// <summary>
  31. /// The font's type. Type 1 fonts must have a value of 1.
  32. /// </summary>
  33. FontType,
  34. /// <summary>
  35. /// The font's matrix. Typically scaled 1000:1.
  36. /// </summary>
  37. FontMatrix,
  38. /// <summary>
  39. /// The font's general bounding box.
  40. /// </summary>
  41. FontBBox,
  42. /// <summary>
  43. /// The font's method of painting characters. Type 1 only supports fill (0) and outline (2).
  44. /// </summary>
  45. PaintType,
  46. /// <summary>
  47. /// The font's name.
  48. /// </summary>
  49. FontName,
  50. /// <summary>
  51. /// A unique identifier for popular fonts assigned by Adobe.
  52. /// </summary>
  53. UniqueId,
  54. /// <summary>
  55. /// The number of characters the font can draw.
  56. /// </summary>
  57. NumCharStrings,
  58. CharStringKey,
  59. CharString,
  60. EncodingType,
  61. EncodingEntry,
  62. /// <summary>
  63. /// The number of charstring subroutines in the font.
  64. /// </summary>
  65. NumSubrs,
  66. /// <summary>
  67. /// The font's subroutines.
  68. /// </summary>
  69. Subr,
  70. /// <summary>
  71. /// An array with only one real number entry expressing the dominant width of horizontal stems (measured
  72. /// vertically in character space units).
  73. /// </summary>
  74. StdHW,
  75. /// <summary>
  76. /// An array with only one real number entry expressing the dominant width of vertical stems (measured
  77. /// horizontally in character space units).
  78. /// </summary>
  79. StdVW,
  80. /// <summary>
  81. /// The number of BlueValues the font defines. The value must be at least 0 and at most 14. (7 integer pairs).
  82. /// </summary>
  83. NumBlueValues,
  84. /// <summary>
  85. /// An array of integer pairs. The first pair must be the base overshoot position and the base-line.
  86. /// </summary>
  87. BlueValue,
  88. /// <summary>
  89. /// An optional entry that specifies the number of character space units to extend (in both directions) the
  90. /// effect of an alignment zone on a horizontal stem. The default value is 1.
  91. /// </summary>
  92. BlueFuzz,
  93. /// <summary>
  94. /// The number of OtherBlue values. The value must be at least 0 and at most 10 (5 integer pairs).
  95. /// </summary>
  96. NumOtherBlues,
  97. /// <summary>
  98. /// An optional array of integer pairs very similar to those in <see cref="BlueValue"/>.
  99. /// </summary>
  100. OtherBlue,
  101. /// <summary>
  102. /// The number of FamilyBlue values.
  103. /// </summary>
  104. NumFamilyBlues,
  105. /// <summary>
  106. /// An array of integer pairs very similar to those in <see cref="BlueValue"/>.
  107. /// </summary>
  108. FamilyBlue,
  109. /// <summary>
  110. /// The number of FamilyOtherBlue values.
  111. /// </summary>
  112. NumFamilyOtherBlues,
  113. /// <summary>
  114. /// An array of integer pairs very similar to those in <see cref="OtherBlue"/>.
  115. /// </summary>
  116. FamilyOtherBlue,
  117. /// <summary>
  118. /// An optional entry that controls the point size at which overshoot suppression ceases. The default value is
  119. /// 0.039625.
  120. /// </summary>
  121. BlueScale,
  122. /// <summary>
  123. /// An optional entry that indicates a character space distance beyond the flat position of alignment zones at
  124. /// which overshoot enforcement for character features occurs. The default value is 7.
  125. /// </summary>
  126. BlueShift,
  127. /// <summary>
  128. /// The number of StemSnapH values. Cannot exceed 12.
  129. /// </summary>
  130. NumStemSnapH,
  131. /// <summary>
  132. /// An array of up to 12 real numbers of the most common widths (including the dominant width given in the
  133. /// StdHW array) for horizontal stems (measured vertically). These widths must be sorted in increasing order.
  134. /// </summary>
  135. StemSnapH,
  136. /// <summary>
  137. /// The number of StemSnapV values. Cannot exceed 12.
  138. /// </summary>
  139. NumStemSnapV,
  140. /// <summary>
  141. /// An array of up to 12 real numbers of the most common widths (including the dominant width given in the
  142. /// StdVW array) for vertical stems (measured horizontally). These widths must be sorted in increasing order.
  143. /// </summary>
  144. StemSnapV,
  145. /// <summary>
  146. /// A boolean value indicating whether to force bold characters when a regular character is drawn 1-pixel wide.
  147. /// </summary>
  148. ForceBold,
  149. /// <summary>
  150. /// Compatibility entry. Use only for font programs in language group 1.
  151. /// </summary>
  152. RndStemUp,
  153. /// <summary>
  154. /// Obsolete. Set to {16 16}. Required.
  155. /// </summary>
  156. MinFeature,
  157. /// <summary>
  158. /// An integer specifying the number of random bytes at the beginning of charstrings for encryption. By default
  159. /// this value is 4.
  160. /// </summary>
  161. LenIV,
  162. /// <summary>
  163. /// Compatibility entry. Set to 5839.
  164. /// </summary>
  165. Password,
  166. /// <summary>
  167. /// Identifies the language group of the font. A value of 0 indicates a language that uses Latin, Greek,
  168. /// Cyrillic, etc. characters. A value of 1 indicates a language that consists of Chinese ideographs, Jpaanese
  169. /// Kanji, and Korean Hangul. The default value is 0.
  170. /// </summary>
  171. LanguageGroup,
  172. Version,
  173. Notice,
  174. FullName,
  175. FamilyName,
  176. Weight,
  177. IsFixedPitch,
  178. UnderlinePosition,
  179. FSType,
  180. ItalicAngle
  181. }
  182. }