PageRenderTime 33ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/modules/freetype2/docs/reference/ft2-truetype_tables.html

http://github.com/zpao/v8monkey
HTML | 1218 lines | 1110 code | 108 blank | 0 comment | 0 complexity | 8b4369630cb832c0dc91ccab399db0c4 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, LGPL-3.0, AGPL-1.0, LGPL-2.1, BSD-3-Clause, GPL-2.0, JSON, Apache-2.0, 0BSD
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <title>FreeType-2.4.3 API Reference</title>
  7. <style type="text/css">
  8. body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
  9. color: #000000;
  10. background: #FFFFFF; }
  11. p { text-align: justify; }
  12. h1 { text-align: center; }
  13. li { text-align: justify; }
  14. td { padding: 0 0.5em 0 0.5em; }
  15. td.left { padding: 0 0.5em 0 0.5em;
  16. text-align: left; }
  17. a:link { color: #0000EF; }
  18. a:visited { color: #51188E; }
  19. a:hover { color: #FF0000; }
  20. span.keyword { font-family: monospace;
  21. text-align: left;
  22. white-space: pre;
  23. color: darkblue; }
  24. pre.colored { color: blue; }
  25. ul.empty { list-style-type: none; }
  26. </style>
  27. </head>
  28. <body>
  29. <table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
  30. <td width="100%"></td>
  31. <td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  32. <center><h1>FreeType-2.4.3 API Reference</h1></center>
  33. <center><h1>
  34. TrueType Tables
  35. </h1></center>
  36. <h2>Synopsis</h2>
  37. <table align=center cellspacing=5 cellpadding=0 border=0>
  38. <tr><td></td><td><a href="#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td><td></td><td><a href="#TT_Postscript">TT_Postscript</a></td></tr>
  39. <tr><td></td><td><a href="#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td><td></td><td><a href="#TT_PCLT">TT_PCLT</a></td></tr>
  40. <tr><td></td><td><a href="#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td><td></td><td><a href="#TT_MaxProfile">TT_MaxProfile</a></td></tr>
  41. <tr><td></td><td><a href="#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td><td></td><td><a href="#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td></tr>
  42. <tr><td></td><td><a href="#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td><td></td><td><a href="#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td></tr>
  43. <tr><td></td><td><a href="#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td><td></td><td><a href="#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td></tr>
  44. <tr><td></td><td><a href="#TT_Header">TT_Header</a></td><td></td><td><a href="#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td></tr>
  45. <tr><td></td><td><a href="#TT_HoriHeader">TT_HoriHeader</a></td><td></td><td><a href="#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td></tr>
  46. <tr><td></td><td><a href="#TT_VertHeader">TT_VertHeader</a></td><td></td><td><a href="#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td></tr>
  47. <tr><td></td><td><a href="#TT_OS2">TT_OS2</a></td><td></td><td><a href="#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td></tr>
  48. </table><br><br>
  49. <table align=center width="87%"><tr><td>
  50. <p>This section contains the definition of TrueType-specific tables as well as some routines used to access and process them.</p>
  51. </td></tr></table><br>
  52. <table align=center width="75%"><tr><td>
  53. <h4><a name="TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></h4>
  54. <table align=center width="87%"><tr><td>
  55. Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
  56. </td></tr></table><br>
  57. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  58. #define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a> 0
  59. #define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> 1
  60. #define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a> 2 /* deprecated */
  61. #define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a> 3
  62. #define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a> 4
  63. #define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a> 7 /* artificial */
  64. </pre></table><br>
  65. <table align=center width="87%"><tr><td>
  66. <p>A list of valid values for the &lsquo;platform_id&rsquo; identifier code in <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> and <a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a> structures.</p>
  67. </td></tr></table><br>
  68. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
  69. <p></p>
  70. <table cellpadding=3 border=0>
  71. <tr valign=top><td colspan=0><b>TT_PLATFORM_APPLE_UNICODE</b></td></tr>
  72. <tr valign=top><td></td><td>
  73. <p>Used by Apple to indicate a Unicode character map and/or name entry. See <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a> for corresponding &lsquo;encoding_id&rsquo; values. Note that name entries in this format are coded as big-endian UCS-2 character codes <i>only</i>.</p>
  74. </td></tr>
  75. <tr valign=top><td><b>TT_PLATFORM_MACINTOSH</b></td><td>
  76. <p>Used by Apple to indicate a MacOS-specific charmap and/or name entry. See <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a> for corresponding &lsquo;encoding_id&rsquo; values. Note that most TrueType fonts contain an Apple roman charmap to be usable on MacOS systems (even if they contain a Microsoft charmap as well).</p>
  77. </td></tr>
  78. <tr valign=top><td><b>TT_PLATFORM_ISO</b></td><td>
  79. <p>This value was used to specify ISO/IEC 10646 charmaps. It is however now deprecated. See <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a> for a list of corresponding &lsquo;encoding_id&rsquo; values.</p>
  80. </td></tr>
  81. <tr valign=top><td><b>TT_PLATFORM_MICROSOFT</b></td><td>
  82. <p>Used by Microsoft to indicate Windows-specific charmaps. See <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a> for a list of corresponding &lsquo;encoding_id&rsquo; values. Note that most fonts contain a Unicode charmap using (TT_PLATFORM_MICROSOFT, <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a>).</p>
  83. </td></tr>
  84. <tr valign=top><td><b>TT_PLATFORM_CUSTOM</b></td><td>
  85. <p>Used to indicate application-specific charmaps.</p>
  86. </td></tr>
  87. <tr valign=top><td><b>TT_PLATFORM_ADOBE</b></td><td>
  88. <p>This value isn't part of any font format specification, but is used by FreeType to report Adobe-specific charmaps in an <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> structure. See <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a>.</p>
  89. </td></tr>
  90. </table>
  91. </td></tr></table>
  92. </td></tr></table>
  93. <hr width="75%">
  94. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  95. <td width="100%"></td>
  96. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  97. <table align=center width="75%"><tr><td>
  98. <h4><a name="TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></h4>
  99. <table align=center width="87%"><tr><td>
  100. Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
  101. </td></tr></table><br>
  102. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  103. #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a> 0 /* Unicode 1.0 */
  104. #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a> 1 /* specify Hangul at U+34xx */
  105. #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a> 2 /* deprecated */
  106. #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a> 3 /* or later */
  107. #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a> 4 /* 2.0 or later, full repertoire */
  108. #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a> 5 /* variation selector data */
  109. </pre></table><br>
  110. <table align=center width="87%"><tr><td>
  111. <p>A list of valid values for the &lsquo;encoding_id&rsquo; for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a> charmaps and name entries.</p>
  112. </td></tr></table><br>
  113. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
  114. <p></p>
  115. <table cellpadding=3 border=0>
  116. <tr valign=top><td><b>TT_APPLE_ID_DEFAULT</b></td><td>
  117. <p>Unicode version 1.0.</p>
  118. </td></tr>
  119. <tr valign=top><td colspan=0><b>TT_APPLE_ID_UNICODE_1_1</b></td></tr>
  120. <tr valign=top><td></td><td>
  121. <p>Unicode 1.1; specifies Hangul characters starting at U+34xx.</p>
  122. </td></tr>
  123. <tr valign=top><td><b>TT_APPLE_ID_ISO_10646</b></td><td>
  124. <p>Deprecated (identical to preceding).</p>
  125. </td></tr>
  126. <tr valign=top><td colspan=0><b>TT_APPLE_ID_UNICODE_2_0</b></td></tr>
  127. <tr valign=top><td></td><td>
  128. <p>Unicode 2.0 and beyond (UTF-16 BMP only).</p>
  129. </td></tr>
  130. <tr valign=top><td><b>TT_APPLE_ID_UNICODE_32</b></td><td>
  131. <p>Unicode 3.1 and beyond, using UTF-32.</p>
  132. </td></tr>
  133. <tr valign=top><td colspan=0><b>TT_APPLE_ID_VARIANT_SELECTOR</b></td></tr>
  134. <tr valign=top><td></td><td>
  135. <p>From Adobe, not Apple. Not a normal cmap. Specifies variations on a real cmap.</p>
  136. </td></tr>
  137. </table>
  138. </td></tr></table>
  139. </td></tr></table>
  140. <hr width="75%">
  141. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  142. <td width="100%"></td>
  143. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  144. <table align=center width="75%"><tr><td>
  145. <h4><a name="TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></h4>
  146. <table align=center width="87%"><tr><td>
  147. Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
  148. </td></tr></table><br>
  149. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  150. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> 0
  151. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a> 1
  152. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a> 2
  153. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a> 3
  154. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a> 4
  155. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a> 5
  156. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a> 6
  157. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a> 7
  158. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a> 8
  159. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a> 9
  160. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a> 10
  161. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a> 11
  162. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a> 12
  163. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a> 13
  164. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a> 14
  165. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a> 15
  166. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a> 16
  167. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a> 17
  168. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a> 18
  169. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a> 19
  170. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a> 20
  171. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a> 21
  172. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a> 22
  173. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a> 23
  174. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a> 24
  175. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a> 25
  176. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a> 25
  177. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a> 26
  178. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a> 27
  179. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a> 28
  180. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a> 29
  181. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a> 30
  182. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a> 31
  183. #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a> 32
  184. </pre></table><br>
  185. <table align=center width="87%"><tr><td>
  186. <p>A list of valid values for the &lsquo;encoding_id&rsquo; for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> charmaps and name entries.</p>
  187. </td></tr></table><br>
  188. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
  189. <p></p>
  190. <table cellpadding=3 border=0>
  191. <tr valign=top><td><b>TT_MAC_ID_ROMAN</b></td><td>
  192. <p></p>
  193. </td></tr>
  194. <tr valign=top><td><b>TT_MAC_ID_JAPANESE</b></td><td>
  195. <p></p>
  196. </td></tr>
  197. <tr valign=top><td colspan=0><b>TT_MAC_ID_TRADITIONAL_CHINESE</b></td></tr>
  198. <tr valign=top><td></td><td>
  199. <p></p>
  200. </td></tr>
  201. <tr valign=top><td><b>TT_MAC_ID_KOREAN</b></td><td>
  202. <p></p>
  203. </td></tr>
  204. <tr valign=top><td><b>TT_MAC_ID_ARABIC</b></td><td>
  205. <p></p>
  206. </td></tr>
  207. <tr valign=top><td><b>TT_MAC_ID_HEBREW</b></td><td>
  208. <p></p>
  209. </td></tr>
  210. <tr valign=top><td><b>TT_MAC_ID_GREEK</b></td><td>
  211. <p></p>
  212. </td></tr>
  213. <tr valign=top><td><b>TT_MAC_ID_RUSSIAN</b></td><td>
  214. <p></p>
  215. </td></tr>
  216. <tr valign=top><td><b>TT_MAC_ID_RSYMBOL</b></td><td>
  217. <p></p>
  218. </td></tr>
  219. <tr valign=top><td><b>TT_MAC_ID_DEVANAGARI</b></td><td>
  220. <p></p>
  221. </td></tr>
  222. <tr valign=top><td><b>TT_MAC_ID_GURMUKHI</b></td><td>
  223. <p></p>
  224. </td></tr>
  225. <tr valign=top><td><b>TT_MAC_ID_GUJARATI</b></td><td>
  226. <p></p>
  227. </td></tr>
  228. <tr valign=top><td><b>TT_MAC_ID_ORIYA</b></td><td>
  229. <p></p>
  230. </td></tr>
  231. <tr valign=top><td><b>TT_MAC_ID_BENGALI</b></td><td>
  232. <p></p>
  233. </td></tr>
  234. <tr valign=top><td><b>TT_MAC_ID_TAMIL</b></td><td>
  235. <p></p>
  236. </td></tr>
  237. <tr valign=top><td><b>TT_MAC_ID_TELUGU</b></td><td>
  238. <p></p>
  239. </td></tr>
  240. <tr valign=top><td><b>TT_MAC_ID_KANNADA</b></td><td>
  241. <p></p>
  242. </td></tr>
  243. <tr valign=top><td><b>TT_MAC_ID_MALAYALAM</b></td><td>
  244. <p></p>
  245. </td></tr>
  246. <tr valign=top><td><b>TT_MAC_ID_SINHALESE</b></td><td>
  247. <p></p>
  248. </td></tr>
  249. <tr valign=top><td><b>TT_MAC_ID_BURMESE</b></td><td>
  250. <p></p>
  251. </td></tr>
  252. <tr valign=top><td><b>TT_MAC_ID_KHMER</b></td><td>
  253. <p></p>
  254. </td></tr>
  255. <tr valign=top><td><b>TT_MAC_ID_THAI</b></td><td>
  256. <p></p>
  257. </td></tr>
  258. <tr valign=top><td><b>TT_MAC_ID_LAOTIAN</b></td><td>
  259. <p></p>
  260. </td></tr>
  261. <tr valign=top><td><b>TT_MAC_ID_GEORGIAN</b></td><td>
  262. <p></p>
  263. </td></tr>
  264. <tr valign=top><td><b>TT_MAC_ID_ARMENIAN</b></td><td>
  265. <p></p>
  266. </td></tr>
  267. <tr valign=top><td><b>TT_MAC_ID_MALDIVIAN</b></td><td>
  268. <p></p>
  269. </td></tr>
  270. <tr valign=top><td colspan=0><b>TT_MAC_ID_SIMPLIFIED_CHINESE</b></td></tr>
  271. <tr valign=top><td></td><td>
  272. <p></p>
  273. </td></tr>
  274. <tr valign=top><td><b>TT_MAC_ID_TIBETAN</b></td><td>
  275. <p></p>
  276. </td></tr>
  277. <tr valign=top><td><b>TT_MAC_ID_MONGOLIAN</b></td><td>
  278. <p></p>
  279. </td></tr>
  280. <tr valign=top><td><b>TT_MAC_ID_GEEZ</b></td><td>
  281. <p></p>
  282. </td></tr>
  283. <tr valign=top><td><b>TT_MAC_ID_SLAVIC</b></td><td>
  284. <p></p>
  285. </td></tr>
  286. <tr valign=top><td><b>TT_MAC_ID_VIETNAMESE</b></td><td>
  287. <p></p>
  288. </td></tr>
  289. <tr valign=top><td><b>TT_MAC_ID_SINDHI</b></td><td>
  290. <p></p>
  291. </td></tr>
  292. <tr valign=top><td><b>TT_MAC_ID_UNINTERP</b></td><td>
  293. <p></p>
  294. </td></tr>
  295. </table>
  296. </td></tr></table>
  297. </td></tr></table>
  298. <hr width="75%">
  299. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  300. <td width="100%"></td>
  301. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  302. <table align=center width="75%"><tr><td>
  303. <h4><a name="TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></h4>
  304. <table align=center width="87%"><tr><td>
  305. Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
  306. </td></tr></table><br>
  307. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  308. #define <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a> 0
  309. #define <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a> 1
  310. #define <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a> 2
  311. </pre></table><br>
  312. <table align=center width="87%"><tr><td>
  313. <p>A list of valid values for the &lsquo;encoding_id&rsquo; for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a> charmaps and name entries.</p>
  314. <p>Their use is now deprecated.</p>
  315. </td></tr></table><br>
  316. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
  317. <p></p>
  318. <table cellpadding=3 border=0>
  319. <tr valign=top><td><b>TT_ISO_ID_7BIT_ASCII</b></td><td>
  320. <p>ASCII.</p>
  321. </td></tr>
  322. <tr valign=top><td><b>TT_ISO_ID_10646</b></td><td>
  323. <p>ISO/10646.</p>
  324. </td></tr>
  325. <tr valign=top><td><b>TT_ISO_ID_8859_1</b></td><td>
  326. <p>Also known as Latin-1.</p>
  327. </td></tr>
  328. </table>
  329. </td></tr></table>
  330. </td></tr></table>
  331. <hr width="75%">
  332. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  333. <td width="100%"></td>
  334. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  335. <table align=center width="75%"><tr><td>
  336. <h4><a name="TT_MS_ID_XXX">TT_MS_ID_XXX</a></h4>
  337. <table align=center width="87%"><tr><td>
  338. Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
  339. </td></tr></table><br>
  340. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  341. #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a> 0
  342. #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a> 1
  343. #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a> 2
  344. #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a> 3
  345. #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a> 4
  346. #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a> 5
  347. #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a> 6
  348. #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a> 10
  349. </pre></table><br>
  350. <table align=center width="87%"><tr><td>
  351. <p>A list of valid values for the &lsquo;encoding_id&rsquo; for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a> charmaps and name entries.</p>
  352. </td></tr></table><br>
  353. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
  354. <p></p>
  355. <table cellpadding=3 border=0>
  356. <tr valign=top><td><b>TT_MS_ID_SYMBOL_CS</b></td><td>
  357. <p>Corresponds to Microsoft symbol encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a>.</p>
  358. </td></tr>
  359. <tr valign=top><td><b>TT_MS_ID_UNICODE_CS</b></td><td>
  360. <p>Corresponds to a Microsoft WGL4 charmap, matching Unicode. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a>.</p>
  361. </td></tr>
  362. <tr valign=top><td><b>TT_MS_ID_SJIS</b></td><td>
  363. <p>Corresponds to SJIS Japanese encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a>.</p>
  364. </td></tr>
  365. <tr valign=top><td><b>TT_MS_ID_GB2312</b></td><td>
  366. <p>Corresponds to Simplified Chinese as used in Mainland China. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a>.</p>
  367. </td></tr>
  368. <tr valign=top><td><b>TT_MS_ID_BIG_5</b></td><td>
  369. <p>Corresponds to Traditional Chinese as used in Taiwan and Hong Kong. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a>.</p>
  370. </td></tr>
  371. <tr valign=top><td><b>TT_MS_ID_WANSUNG</b></td><td>
  372. <p>Corresponds to Korean Wansung encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a>.</p>
  373. </td></tr>
  374. <tr valign=top><td><b>TT_MS_ID_JOHAB</b></td><td>
  375. <p>Corresponds to Johab encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a>.</p>
  376. </td></tr>
  377. <tr valign=top><td><b>TT_MS_ID_UCS_4</b></td><td>
  378. <p>Corresponds to UCS-4 or UTF-32 charmaps. This has been added to the OpenType specification version 1.4 (mid-2001.)</p>
  379. </td></tr>
  380. </table>
  381. </td></tr></table>
  382. </td></tr></table>
  383. <hr width="75%">
  384. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  385. <td width="100%"></td>
  386. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  387. <table align=center width="75%"><tr><td>
  388. <h4><a name="TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></h4>
  389. <table align=center width="87%"><tr><td>
  390. Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
  391. </td></tr></table><br>
  392. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  393. #define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a> 0
  394. #define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a> 1
  395. #define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a> 2
  396. #define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a> 3
  397. </pre></table><br>
  398. <table align=center width="87%"><tr><td>
  399. <p>A list of valid values for the &lsquo;encoding_id&rsquo; for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a> charmaps. This is a FreeType-specific extension!</p>
  400. </td></tr></table><br>
  401. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
  402. <p></p>
  403. <table cellpadding=3 border=0>
  404. <tr valign=top><td><b>TT_ADOBE_ID_STANDARD</b></td><td>
  405. <p>Adobe standard encoding.</p>
  406. </td></tr>
  407. <tr valign=top><td><b>TT_ADOBE_ID_EXPERT</b></td><td>
  408. <p>Adobe expert encoding.</p>
  409. </td></tr>
  410. <tr valign=top><td><b>TT_ADOBE_ID_CUSTOM</b></td><td>
  411. <p>Adobe custom encoding.</p>
  412. </td></tr>
  413. <tr valign=top><td><b>TT_ADOBE_ID_LATIN_1</b></td><td>
  414. <p>Adobe Latin&nbsp;1 encoding.</p>
  415. </td></tr>
  416. </table>
  417. </td></tr></table>
  418. </td></tr></table>
  419. <hr width="75%">
  420. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  421. <td width="100%"></td>
  422. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  423. <table align=center width="75%"><tr><td>
  424. <h4><a name="TT_Header">TT_Header</a></h4>
  425. <table align=center width="87%"><tr><td>
  426. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  427. </td></tr></table><br>
  428. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  429. <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_Header_
  430. {
  431. <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Table_Version;
  432. <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Font_Revision;
  433. <a href="ft2-basic_types.html#FT_Long">FT_Long</a> CheckSum_Adjust;
  434. <a href="ft2-basic_types.html#FT_Long">FT_Long</a> Magic_Number;
  435. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> Flags;
  436. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> Units_Per_EM;
  437. <a href="ft2-basic_types.html#FT_Long">FT_Long</a> Created [2];
  438. <a href="ft2-basic_types.html#FT_Long">FT_Long</a> Modified[2];
  439. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> xMin;
  440. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> yMin;
  441. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> xMax;
  442. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> yMax;
  443. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> Mac_Style;
  444. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> Lowest_Rec_PPEM;
  445. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Font_Direction;
  446. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Index_To_Loc_Format;
  447. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Glyph_Data_Format;
  448. } <b>TT_Header</b>;
  449. </pre></table><br>
  450. <table align=center width="87%"><tr><td>
  451. <p>A structure used to model a TrueType font header table. All fields follow the TrueType specification.</p>
  452. </td></tr></table><br>
  453. </td></tr></table>
  454. <hr width="75%">
  455. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  456. <td width="100%"></td>
  457. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  458. <table align=center width="75%"><tr><td>
  459. <h4><a name="TT_HoriHeader">TT_HoriHeader</a></h4>
  460. <table align=center width="87%"><tr><td>
  461. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  462. </td></tr></table><br>
  463. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  464. <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_HoriHeader_
  465. {
  466. <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Version;
  467. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Ascender;
  468. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Descender;
  469. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Line_Gap;
  470. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> advance_Width_Max; /* advance width maximum */
  471. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> min_Left_Side_Bearing; /* minimum left-sb */
  472. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> min_Right_Side_Bearing; /* minimum right-sb */
  473. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> xMax_Extent; /* xmax extents */
  474. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> caret_Slope_Rise;
  475. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> caret_Slope_Run;
  476. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> caret_Offset;
  477. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Reserved[4];
  478. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> metric_Data_Format;
  479. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> number_Of_HMetrics;
  480. /* The following fields are not defined by the TrueType specification */
  481. /* but they are used to connect the metrics header to the relevant */
  482. /* `HMTX' table. */
  483. <span class="keyword">void</span>* long_metrics;
  484. <span class="keyword">void</span>* short_metrics;
  485. } <b>TT_HoriHeader</b>;
  486. </pre></table><br>
  487. <table align=center width="87%"><tr><td>
  488. <p>A structure used to model a TrueType horizontal header, the &lsquo;hhea&rsquo; table, as well as the corresponding horizontal metrics table, i.e., the &lsquo;hmtx&rsquo; table.</p>
  489. </td></tr></table><br>
  490. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
  491. <p></p>
  492. <table cellpadding=3 border=0>
  493. <tr valign=top><td><b>Version</b></td><td>
  494. <p>The table version.</p>
  495. </td></tr>
  496. <tr valign=top><td><b>Ascender</b></td><td>
  497. <p>The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.</p>
  498. <p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p>
  499. <p>You should use the &lsquo;sTypoAscender&rsquo; field of the OS/2 table instead if you want the correct one.</p>
  500. </td></tr>
  501. <tr valign=top><td><b>Descender</b></td><td>
  502. <p>The font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points found in the font. It is negative.</p>
  503. <p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p>
  504. <p>You should use the &lsquo;sTypoDescender&rsquo; field of the OS/2 table instead if you want the correct one.</p>
  505. </td></tr>
  506. <tr valign=top><td><b>Line_Gap</b></td><td>
  507. <p>The font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the baseline-to-baseline distance for the font.</p>
  508. </td></tr>
  509. <tr valign=top><td><b>advance_Width_Max</b></td><td>
  510. <p>This field is the maximum of all advance widths found in the font. It can be used to compute the maximum width of an arbitrary string of text.</p>
  511. </td></tr>
  512. <tr valign=top><td><b>min_Left_Side_Bearing</b></td><td>
  513. <p>The minimum left side bearing of all glyphs within the font.</p>
  514. </td></tr>
  515. <tr valign=top><td><b>min_Right_Side_Bearing</b></td><td>
  516. <p>The minimum right side bearing of all glyphs within the font.</p>
  517. </td></tr>
  518. <tr valign=top><td><b>xMax_Extent</b></td><td>
  519. <p>The maximum horizontal extent (i.e., the &lsquo;width&rsquo; of a glyph's bounding box) for all glyphs in the font.</p>
  520. </td></tr>
  521. <tr valign=top><td><b>caret_Slope_Rise</b></td><td>
  522. <p>The rise coefficient of the cursor's slope of the cursor (slope=rise/run).</p>
  523. </td></tr>
  524. <tr valign=top><td><b>caret_Slope_Run</b></td><td>
  525. <p>The run coefficient of the cursor's slope.</p>
  526. </td></tr>
  527. <tr valign=top><td><b>Reserved</b></td><td>
  528. <p>8&nbsp;reserved bytes.</p>
  529. </td></tr>
  530. <tr valign=top><td><b>metric_Data_Format</b></td><td>
  531. <p>Always&nbsp;0.</p>
  532. </td></tr>
  533. <tr valign=top><td><b>number_Of_HMetrics</b></td><td>
  534. <p>Number of HMetrics entries in the &lsquo;hmtx&rsquo; table -- this value can be smaller than the total number of glyphs in the font.</p>
  535. </td></tr>
  536. <tr valign=top><td><b>long_metrics</b></td><td>
  537. <p>A pointer into the &lsquo;hmtx&rsquo; table.</p>
  538. </td></tr>
  539. <tr valign=top><td><b>short_metrics</b></td><td>
  540. <p>A pointer into the &lsquo;hmtx&rsquo; table.</p>
  541. </td></tr>
  542. </table>
  543. </td></tr></table>
  544. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
  545. <p>IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields which are different.</p>
  546. <p>This ensures that a single function in the &lsquo;ttload&rsquo; module is able to read both the horizontal and vertical headers.</p>
  547. </td></tr></table>
  548. </td></tr></table>
  549. <hr width="75%">
  550. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  551. <td width="100%"></td>
  552. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  553. <table align=center width="75%"><tr><td>
  554. <h4><a name="TT_VertHeader">TT_VertHeader</a></h4>
  555. <table align=center width="87%"><tr><td>
  556. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  557. </td></tr></table><br>
  558. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  559. <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_VertHeader_
  560. {
  561. <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Version;
  562. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Ascender;
  563. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Descender;
  564. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Line_Gap;
  565. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> advance_Height_Max; /* advance height maximum */
  566. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> min_Top_Side_Bearing; /* minimum left-sb or top-sb */
  567. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> min_Bottom_Side_Bearing; /* minimum right-sb or bottom-sb */
  568. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> yMax_Extent; /* xmax or ymax extents */
  569. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> caret_Slope_Rise;
  570. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> caret_Slope_Run;
  571. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> caret_Offset;
  572. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Reserved[4];
  573. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> metric_Data_Format;
  574. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> number_Of_VMetrics;
  575. /* The following fields are not defined by the TrueType specification */
  576. /* but they're used to connect the metrics header to the relevant */
  577. /* `HMTX' or `VMTX' table. */
  578. <span class="keyword">void</span>* long_metrics;
  579. <span class="keyword">void</span>* short_metrics;
  580. } <b>TT_VertHeader</b>;
  581. </pre></table><br>
  582. <table align=center width="87%"><tr><td>
  583. <p>A structure used to model a TrueType vertical header, the &lsquo;vhea&rsquo; table, as well as the corresponding vertical metrics table, i.e., the &lsquo;vmtx&rsquo; table.</p>
  584. </td></tr></table><br>
  585. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
  586. <p></p>
  587. <table cellpadding=3 border=0>
  588. <tr valign=top><td><b>Version</b></td><td>
  589. <p>The table version.</p>
  590. </td></tr>
  591. <tr valign=top><td><b>Ascender</b></td><td>
  592. <p>The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.</p>
  593. <p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p>
  594. <p>You should use the &lsquo;sTypoAscender&rsquo; field of the OS/2 table instead if you want the correct one.</p>
  595. </td></tr>
  596. <tr valign=top><td><b>Descender</b></td><td>
  597. <p>The font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points found in the font. It is negative.</p>
  598. <p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p>
  599. <p>You should use the &lsquo;sTypoDescender&rsquo; field of the OS/2 table instead if you want the correct one.</p>
  600. </td></tr>
  601. <tr valign=top><td><b>Line_Gap</b></td><td>
  602. <p>The font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the baseline-to-baseline distance for the font.</p>
  603. </td></tr>
  604. <tr valign=top><td><b>advance_Height_Max</b></td><td>
  605. <p>This field is the maximum of all advance heights found in the font. It can be used to compute the maximum height of an arbitrary string of text.</p>
  606. </td></tr>
  607. <tr valign=top><td><b>min_Top_Side_Bearing</b></td><td>
  608. <p>The minimum top side bearing of all glyphs within the font.</p>
  609. </td></tr>
  610. <tr valign=top><td colspan=0><b>min_Bottom_Side_Bearing</b></td></tr>
  611. <tr valign=top><td></td><td>
  612. <p>The minimum bottom side bearing of all glyphs within the font.</p>
  613. </td></tr>
  614. <tr valign=top><td><b>yMax_Extent</b></td><td>
  615. <p>The maximum vertical extent (i.e., the &lsquo;height&rsquo; of a glyph's bounding box) for all glyphs in the font.</p>
  616. </td></tr>
  617. <tr valign=top><td><b>caret_Slope_Rise</b></td><td>
  618. <p>The rise coefficient of the cursor's slope of the cursor (slope=rise/run).</p>
  619. </td></tr>
  620. <tr valign=top><td><b>caret_Slope_Run</b></td><td>
  621. <p>The run coefficient of the cursor's slope.</p>
  622. </td></tr>
  623. <tr valign=top><td><b>caret_Offset</b></td><td>
  624. <p>The cursor's offset for slanted fonts. This value is &lsquo;reserved&rsquo; in vmtx version 1.0.</p>
  625. </td></tr>
  626. <tr valign=top><td><b>Reserved</b></td><td>
  627. <p>8&nbsp;reserved bytes.</p>
  628. </td></tr>
  629. <tr valign=top><td><b>metric_Data_Format</b></td><td>
  630. <p>Always&nbsp;0.</p>
  631. </td></tr>
  632. <tr valign=top><td><b>number_Of_HMetrics</b></td><td>
  633. <p>Number of VMetrics entries in the &lsquo;vmtx&rsquo; table -- this value can be smaller than the total number of glyphs in the font.</p>
  634. </td></tr>
  635. <tr valign=top><td><b>long_metrics</b></td><td>
  636. <p>A pointer into the &lsquo;vmtx&rsquo; table.</p>
  637. </td></tr>
  638. <tr valign=top><td><b>short_metrics</b></td><td>
  639. <p>A pointer into the &lsquo;vmtx&rsquo; table.</p>
  640. </td></tr>
  641. </table>
  642. </td></tr></table>
  643. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
  644. <p>IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields which are different.</p>
  645. <p>This ensures that a single function in the &lsquo;ttload&rsquo; module is able to read both the horizontal and vertical headers.</p>
  646. </td></tr></table>
  647. </td></tr></table>
  648. <hr width="75%">
  649. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  650. <td width="100%"></td>
  651. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  652. <table align=center width="75%"><tr><td>
  653. <h4><a name="TT_OS2">TT_OS2</a></h4>
  654. <table align=center width="87%"><tr><td>
  655. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  656. </td></tr></table><br>
  657. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  658. <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_OS2_
  659. {
  660. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> version; /* 0x0001 - more or 0xFFFF */
  661. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> xAvgCharWidth;
  662. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usWeightClass;
  663. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usWidthClass;
  664. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> fsType;
  665. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySubscriptXSize;
  666. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySubscriptYSize;
  667. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySubscriptXOffset;
  668. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySubscriptYOffset;
  669. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySuperscriptXSize;
  670. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySuperscriptYSize;
  671. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySuperscriptXOffset;
  672. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySuperscriptYOffset;
  673. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> yStrikeoutSize;
  674. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> yStrikeoutPosition;
  675. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> sFamilyClass;
  676. <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> panose[10];
  677. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ulUnicodeRange1; /* Bits 0-31 */
  678. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ulUnicodeRange2; /* Bits 32-63 */
  679. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ulUnicodeRange3; /* Bits 64-95 */
  680. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ulUnicodeRange4; /* Bits 96-127 */
  681. <a href="ft2-basic_types.html#FT_Char">FT_Char</a> achVendID[4];
  682. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> fsSelection;
  683. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usFirstCharIndex;
  684. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usLastCharIndex;
  685. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> sTypoAscender;
  686. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> sTypoDescender;
  687. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> sTypoLineGap;
  688. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usWinAscent;
  689. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usWinDescent;
  690. /* only version 1 tables: */
  691. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ulCodePageRange1; /* Bits 0-31 */
  692. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ulCodePageRange2; /* Bits 32-63 */
  693. /* only version 2 tables: */
  694. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> sxHeight;
  695. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> sCapHeight;
  696. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usDefaultChar;
  697. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usBreakChar;
  698. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usMaxContext;
  699. } <b>TT_OS2</b>;
  700. </pre></table><br>
  701. <table align=center width="87%"><tr><td>
  702. <p>A structure used to model a TrueType OS/2 table. This is the long table version. All fields comply to the TrueType specification.</p>
  703. <p>Note that we now support old Mac fonts which do not include an OS/2 table. In this case, the &lsquo;version&rsquo; field is always set to 0xFFFF.</p>
  704. </td></tr></table><br>
  705. </td></tr></table>
  706. <hr width="75%">
  707. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  708. <td width="100%"></td>
  709. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  710. <table align=center width="75%"><tr><td>
  711. <h4><a name="TT_Postscript">TT_Postscript</a></h4>
  712. <table align=center width="87%"><tr><td>
  713. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  714. </td></tr></table><br>
  715. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  716. <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_Postscript_
  717. {
  718. <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> FormatType;
  719. <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> italicAngle;
  720. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underlinePosition;
  721. <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underlineThickness;
  722. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> isFixedPitch;
  723. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> minMemType42;
  724. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> maxMemType42;
  725. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> minMemType1;
  726. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> maxMemType1;
  727. /* Glyph names follow in the file, but we don't */
  728. /* load them by default. See the ttpost.c file. */
  729. } <b>TT_Postscript</b>;
  730. </pre></table><br>
  731. <table align=center width="87%"><tr><td>
  732. <p>A structure used to model a TrueType PostScript table. All fields comply to the TrueType specification. This structure does not reference the PostScript glyph names, which can be nevertheless accessed with the &lsquo;ttpost&rsquo; module.</p>
  733. </td></tr></table><br>
  734. </td></tr></table>
  735. <hr width="75%">
  736. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  737. <td width="100%"></td>
  738. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  739. <table align=center width="75%"><tr><td>
  740. <h4><a name="TT_PCLT">TT_PCLT</a></h4>
  741. <table align=center width="87%"><tr><td>
  742. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  743. </td></tr></table><br>
  744. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  745. <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_PCLT_
  746. {
  747. <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Version;
  748. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> FontNumber;
  749. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> Pitch;
  750. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> xHeight;
  751. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> Style;
  752. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> TypeFamily;
  753. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> CapHeight;
  754. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> SymbolSet;
  755. <a href="ft2-basic_types.html#FT_Char">FT_Char</a> TypeFace[16];
  756. <a href="ft2-basic_types.html#FT_Char">FT_Char</a> CharacterComplement[8];
  757. <a href="ft2-basic_types.html#FT_Char">FT_Char</a> FileName[6];
  758. <a href="ft2-basic_types.html#FT_Char">FT_Char</a> StrokeWeight;
  759. <a href="ft2-basic_types.html#FT_Char">FT_Char</a> WidthType;
  760. <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> SerifStyle;
  761. <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> Reserved;
  762. } <b>TT_PCLT</b>;
  763. </pre></table><br>
  764. <table align=center width="87%"><tr><td>
  765. <p>A structure used to model a TrueType PCLT table. All fields comply to the TrueType specification.</p>
  766. </td></tr></table><br>
  767. </td></tr></table>
  768. <hr width="75%">
  769. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  770. <td width="100%"></td>
  771. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  772. <table align=center width="75%"><tr><td>
  773. <h4><a name="TT_MaxProfile">TT_MaxProfile</a></h4>
  774. <table align=center width="87%"><tr><td>
  775. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  776. </td></tr></table><br>
  777. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  778. <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_MaxProfile_
  779. {
  780. <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> version;
  781. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> numGlyphs;
  782. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxPoints;
  783. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxContours;
  784. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxCompositePoints;
  785. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxCompositeContours;
  786. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxZones;
  787. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxTwilightPoints;
  788. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxStorage;
  789. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxFunctionDefs;
  790. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxInstructionDefs;
  791. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxStackElements;
  792. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxSizeOfInstructions;
  793. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxComponentElements;
  794. <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxComponentDepth;
  795. } <b>TT_MaxProfile</b>;
  796. </pre></table><br>
  797. <table align=center width="87%"><tr><td>
  798. <p>The maximum profile is a table containing many max values which can be used to pre-allocate arrays. This ensures that no memory allocation occurs during a glyph load.</p>
  799. </td></tr></table><br>
  800. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
  801. <p></p>
  802. <table cellpadding=3 border=0>
  803. <tr valign=top><td><b>version</b></td><td>
  804. <p>The version number.</p>
  805. </td></tr>
  806. <tr valign=top><td><b>numGlyphs</b></td><td>
  807. <p>The number of glyphs in this TrueType font.</p>
  808. </td></tr>
  809. <tr valign=top><td><b>maxPoints</b></td><td>
  810. <p>The maximum number of points in a non-composite TrueType glyph. See also the structure element &lsquo;maxCompositePoints&rsquo;.</p>
  811. </td></tr>
  812. <tr valign=top><td><b>maxContours</b></td><td>
  813. <p>The maximum number of contours in a non-composite TrueType glyph. See also the structure element &lsquo;maxCompositeContours&rsquo;.</p>
  814. </td></tr>
  815. <tr valign=top><td><b>maxCompositePoints</b></td><td>
  816. <p>The maximum number of points in a composite TrueType glyph. See also the structure element &lsquo;maxPoints&rsquo;.</p>
  817. </td></tr>
  818. <tr valign=top><td><b>maxCompositeContours</b></td><td>
  819. <p>The maximum number of contours in a composite TrueType glyph. See also the structure element &lsquo;maxContours&rsquo;.</p>
  820. </td></tr>
  821. <tr valign=top><td><b>maxZones</b></td><td>
  822. <p>The maximum number of zones used for glyph hinting.</p>
  823. </td></tr>
  824. <tr valign=top><td><b>maxTwilightPoints</b></td><td>
  825. <p>The maximum number of points in the twilight zone used for glyph hinting.</p>
  826. </td></tr>
  827. <tr valign=top><td><b>maxStorage</b></td><td>
  828. <p>The maximum number of elements in the storage area used for glyph hinting.</p>
  829. </td></tr>
  830. <tr valign=top><td><b>maxFunctionDefs</b></td><td>
  831. <p>The maximum number of function definitions in the TrueType bytecode for this font.</p>
  832. </td></tr>
  833. <tr valign=top><td><b>maxInstructionDefs</b></td><td>
  834. <p>The maximum number of instruction definitions in the TrueType bytecode for this font.</p>
  835. </td></tr>
  836. <tr valign=top><td><b>maxStackElements</b></td><td>
  837. <p>The maximum number of stack elements used during bytecode interpretation.</p>
  838. </td></tr>
  839. <tr valign=top><td><b>maxSizeOfInstructions</b></td><td>
  840. <p>The maximum number of TrueType opcodes used for glyph hinting.</p>
  841. </td></tr>
  842. <tr valign=top><td><b>maxComponentElements</b></td><td>
  843. <p>The maximum number of simple (i.e., non- composite) glyphs in a composite glyph.</p>
  844. </td></tr>
  845. <tr valign=top><td><b>maxComponentDepth</b></td><td>
  846. <p>The maximum nesting depth of composite glyphs.</p>
  847. </td></tr>
  848. </table>
  849. </td></tr></table>
  850. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
  851. <p>This structure is only used during font loading.</p>
  852. </td></tr></table>
  853. </td></tr></table>
  854. <hr width="75%">
  855. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  856. <td width="100%"></td>
  857. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  858. <table align=center width="75%"><tr><td>
  859. <h4><a name="FT_Sfnt_Tag">FT_Sfnt_Tag</a></h4>
  860. <table align=center width="87%"><tr><td>
  861. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  862. </td></tr></table><br>
  863. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  864. <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Sfnt_Tag_
  865. {
  866. ft_sfnt_head = 0, /* <a href="ft2-truetype_tables.html#TT_Header">TT_Header</a> */
  867. ft_sfnt_maxp = 1, /* <a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a> */
  868. ft_sfnt_os2 = 2, /* <a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a> */
  869. ft_sfnt_hhea = 3, /* <a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a> */
  870. ft_sfnt_vhea = 4, /* <a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a> */
  871. ft_sfnt_post = 5, /* <a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a> */
  872. ft_sfnt_pclt = 6, /* <a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a> */
  873. sfnt_max /* internal end mark */
  874. } <b>FT_Sfnt_Tag</b>;
  875. </pre></table><br>
  876. <table align=center width="87%"><tr><td>
  877. <p>An enumeration used to specify the index of an SFNT table. Used in the <a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a> API function.</p>
  878. </td></tr></table><br>
  879. </td></tr></table>
  880. <hr width="75%">
  881. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  882. <td width="100%"></td>
  883. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  884. <table align=center width="75%"><tr><td>
  885. <h4><a name="FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></h4>
  886. <table align=center width="87%"><tr><td>
  887. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  888. </td></tr></table><br>
  889. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  890. FT_EXPORT( <span class="keyword">void</span>* )
  891. <b>FT_Get_Sfnt_Table</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
  892. <a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a> tag );
  893. </pre></table><br>
  894. <table align=center width="87%"><tr><td>
  895. <p>Return a pointer to a given SFNT table within a face.</p>
  896. </td></tr></table><br>
  897. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
  898. <p></p>
  899. <table cellpadding=3 border=0>
  900. <tr valign=top><td><b>face</b></td><td>
  901. <p>A handle to the source.</p>
  902. </td></tr>
  903. <tr valign=top><td><b>tag</b></td><td>
  904. <p>The index of the SFNT table.</p>
  905. </td></tr>
  906. </table>
  907. </td></tr></table>
  908. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
  909. <p>A type-less pointer to the table. This will be&nbsp;0 in case of error, or if the corresponding table was not found <b>OR</b> loaded from the file.</p>
  910. <p>Use a typecast according to &lsquo;tag&rsquo; to access the structure elements.</p>
  911. </td></tr></table>
  912. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
  913. <p>The table is owned by the face object and disappears with it.</p>
  914. <p>This function is only useful to access SFNT tables that are loaded by the sfnt, truetype, and opentype drivers. See <a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a> for a list.</p>
  915. </td></tr></table>
  916. </td></tr></table>
  917. <hr width="75%">
  918. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  919. <td width="100%"></td>
  920. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  921. <table align=center width="75%"><tr><td>
  922. <h4><a name="FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></h4>
  923. <table align=center width="87%"><tr><td>
  924. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  925. </td></tr></table><br>
  926. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  927. FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
  928. <b>FT_Load_Sfnt_Table</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
  929. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> tag,
  930. <a href="ft2-basic_types.html#FT_Long">FT_Long</a> offset,
  931. <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* buffer,
  932. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>* length );
  933. </pre></table><br>
  934. <table align=center width="87%"><tr><td>
  935. <p>Load any font table into client memory.</p>
  936. </td></tr></table><br>
  937. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
  938. <p></p>
  939. <table cellpadding=3 border=0>
  940. <tr valign=top><td><b>face</b></td><td>
  941. <p>A handle to the source face.</p>
  942. </td></tr>
  943. <tr valign=top><td><b>tag</b></td><td>
  944. <p>The four-byte tag of the table to load. Use the value&nbsp;0 if you want to access the whole font file. Otherwise, you can use one of the definitions found in the <a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a> file, or forge a new one with <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>.</p>
  945. </td></tr>
  946. <tr valign=top><td><b>offset</b></td><td>
  947. <p>The starting offset in the table (or file if tag == 0).</p>
  948. </td></tr>
  949. </table>
  950. </td></tr></table>
  951. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
  952. <p></p>
  953. <table cellpadding=3 border=0>
  954. <tr valign=top><td><b>buffer</b></td><td>
  955. <p>The target buffer address. The client must ensure that the memory array is big enough to hold the data.</p>
  956. </td></tr>
  957. </table>
  958. </td></tr></table>
  959. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
  960. <p></p>
  961. <table cellpadding=3 border=0>
  962. <tr valign=top><td><b>length</b></td><td>
  963. <p>If the &lsquo;length&rsquo; parameter is NULL, then try to load the whole table. Return an error code if it fails.</p>
  964. <p>Else, if &lsquo;*length&rsquo; is&nbsp;0, exit immediately while returning the table's (or file) full size in it.</p>
  965. <p>Else the number of bytes to read from the table or file, from the starting offset.</p>
  966. </td></tr>
  967. </table>
  968. </td></tr></table>
  969. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
  970. <p>FreeType error code. 0&nbsp;means success.</p>
  971. </td></tr></table>
  972. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
  973. <p>If you need to determine the table's length you should first call this function with &lsquo;*length&rsquo; set to&nbsp;0, as in the following example:</p>
  974. <pre class="colored">
  975. FT_ULong length = 0;
  976. error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &amp;length );
  977. if ( error ) { ... table does not exist ... }
  978. buffer = malloc( length );
  979. if ( buffer == NULL ) { ... not enough memory ... }
  980. error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &amp;length );
  981. if ( error ) { ... could not load table ... }
  982. </pre>
  983. </td></tr></table>
  984. </td></tr></table>
  985. <hr width="75%">
  986. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  987. <td width="100%"></td>
  988. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  989. <table align=center width="75%"><tr><td>
  990. <h4><a name="FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></h4>
  991. <table align=center width="87%"><tr><td>
  992. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  993. </td></tr></table><br>
  994. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  995. FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
  996. <b>FT_Sfnt_Table_Info</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
  997. <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> table_index,
  998. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> *tag,
  999. <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> *length );
  1000. </pre></table><br>
  1001. <table align=center width="87%"><tr><td>
  1002. <p>Return information on an SFNT table.</p>
  1003. </td></tr></table><br>
  1004. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
  1005. <p></p>
  1006. <table cellpadding=3 border=0>
  1007. <tr valign=top><td><b>face</b></td><td>
  1008. <p>A handle to the source face.</p>
  1009. </td></tr>
  1010. <tr valign=top><td><b>table_index</b></td><td>
  1011. <p>The index of an SFNT table. The function returns FT_Err_Table_Missing for an invalid value.</p>
  1012. </td></tr>
  1013. </table>
  1014. </td></tr></table>
  1015. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
  1016. <p></p>
  1017. <table cellpadding=3 border=0>
  1018. <tr valign=top><td><b>tag</b></td><td>
  1019. <p>The name tag of the SFNT table.</p>
  1020. </td></tr>
  1021. <tr valign=top><td><b>length</b></td><td>
  1022. <p>The length of the SFNT table.</p>
  1023. </td></tr>
  1024. </table>
  1025. </td></tr></table>
  1026. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
  1027. <p>FreeType error code. 0&nbsp;means success.</p>
  1028. </td></tr></table>
  1029. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
  1030. <p>SFNT tables with length zero are treated as missing.</p>
  1031. </td></tr></table>
  1032. </td></tr></table>
  1033. <hr width="75%">
  1034. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  1035. <td width="100%"></td>
  1036. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  1037. <table align=center width="75%"><tr><td>
  1038. <h4><a name="FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></h4>
  1039. <table align=center width="87%"><tr><td>
  1040. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  1041. </td></tr></table><br>
  1042. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  1043. FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> )
  1044. <b>FT_Get_CMap_Language_ID</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap );
  1045. </pre></table><br>
  1046. <table align=center width="87%"><tr><td>
  1047. <p>Return TrueType/sfnt specific cmap language ID. Definitions of language ID values are in &lsquo;freetype/ttnameid.h&rsquo;.</p>
  1048. </td></tr></table><br>
  1049. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
  1050. <p></p>
  1051. <table cellpadding=3 border=0>
  1052. <tr valign=top><td><b>charmap</b></td><td>
  1053. <p>The target charmap.</p>
  1054. </td></tr>
  1055. </table>
  1056. </td></tr></table>
  1057. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
  1058. <p>The language ID of &lsquo;charmap&rsquo;. If &lsquo;charmap&rsquo; doesn't belong to a TrueType/sfnt face, just return&nbsp;0 as the default value.</p>
  1059. </td></tr></table>
  1060. </td></tr></table>
  1061. <hr width="75%">
  1062. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  1063. <td width="100%"></td>
  1064. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  1065. <table align=center width="75%"><tr><td>
  1066. <h4><a name="FT_Get_CMap_Format">FT_Get_CMap_Format</a></h4>
  1067. <table align=center width="87%"><tr><td>
  1068. Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
  1069. </td></tr></table><br>
  1070. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  1071. FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> )
  1072. <b>FT_Get_CMap_Format</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap );
  1073. </pre></table><br>
  1074. <table align=center width="87%"><tr><td>
  1075. <p>Return TrueType/sfnt specific cmap format.</p>
  1076. </td></tr></table><br>
  1077. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
  1078. <p></p>
  1079. <table cellpadding=3 border=0>
  1080. <tr valign=top><td><b>charmap</b></td><td>
  1081. <p>The target charmap.</p>
  1082. </td></tr>
  1083. </table>
  1084. </td></tr></table>
  1085. <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
  1086. <p>The format of &lsquo;charmap&rsquo;. If &lsquo;charmap&rsquo; doesn't belong to a TrueType/sfnt face, return -1.</p>
  1087. </td></tr></table>
  1088. </td></tr></table>
  1089. <hr width="75%">
  1090. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  1091. <td width="100%"></td>
  1092. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  1093. <table align=center width="75%"><tr><td>
  1094. <h4><a name="FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></h4>
  1095. <table align=center width="87%"><tr><td>
  1096. Defined in FT_UNPATENTED_HINTING_H (freetype/ttunpat.h).
  1097. </td></tr></table><br>
  1098. <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
  1099. #define <b>FT_PARAM_TAG_UNPATENTED_HINTING</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'u', 'n', 'p', 'a' )
  1100. </pre></table><br>
  1101. <table align=center width="87%"><tr><td>
  1102. <p>A constant used as the tag of an <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structure to indicate that unpatented methods only should be used by the TrueType bytecode interpreter for a typeface opened by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>.</p>
  1103. </td></tr></table><br>
  1104. </td></tr></table>
  1105. <hr width="75%">
  1106. <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
  1107. <td width="100%"></td>
  1108. <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
  1109. </body>
  1110. </html>