🛠️🐜 Antkeeper superbuild with dependencies included https://antkeeper.com
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.

2140 lines
63 KiB

  1. <!doctype html>
  2. <html lang="en" class="no-js">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <meta name="description" content="API Reference Documentation for FreeType-2.11.0">
  7. <meta name="author" content="FreeType Contributors">
  8. <link rel="icon" href="images/favico.ico">
  9. <meta name="generator" content="mkdocs-1.2.1, mkdocs-material-7.1.9">
  10. <title>Glyph Stroker - FreeType-2.11.0 API Reference</title>
  11. <link rel="stylesheet" href="assets/stylesheets/main.ca7ac06f.min.css">
  12. <link rel="stylesheet" href="assets/stylesheets/palette.f1a3b89f.min.css">
  13. <meta name="theme-color" content="#4cae4f">
  14. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  15. <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Serif:300,400,400i,700%7CRoboto+Mono&display=fallback">
  16. <style>:root{--md-text-font-family:"Noto Serif";--md-code-font-family:"Roboto Mono"}</style>
  17. <link rel="stylesheet" href="stylesheets/extra.css">
  18. </head>
  19. <body dir="ltr" data-md-color-scheme="" data-md-color-primary="green" data-md-color-accent="green">
  20. <script>function __prefix(e){return new URL(".",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
  21. <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
  22. <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
  23. <label class="md-overlay" for="__drawer"></label>
  24. <div data-md-component="skip">
  25. <a href="#glyph-stroker" class="md-skip">
  26. Skip to content
  27. </a>
  28. </div>
  29. <div data-md-component="announce">
  30. </div>
  31. <header class="md-header" data-md-component="header">
  32. <nav class="md-header__inner md-grid" aria-label="Header">
  33. <a href="index.html" title="FreeType-2.11.0 API Reference" class="md-header__button md-logo" aria-label="FreeType-2.11.0 API Reference" data-md-component="logo">
  34. <img src="images/favico.ico" alt="logo">
  35. </a>
  36. <label class="md-header__button md-icon" for="__drawer">
  37. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
  38. </label>
  39. <div class="md-header__title" data-md-component="header-title">
  40. <div class="md-header__ellipsis">
  41. <div class="md-header__topic">
  42. <span class="md-ellipsis">
  43. FreeType-2.11.0 API Reference
  44. </span>
  45. </div>
  46. <div class="md-header__topic" data-md-component="header-topic">
  47. <span class="md-ellipsis">
  48. Glyph Stroker
  49. </span>
  50. </div>
  51. </div>
  52. </div>
  53. <label class="md-header__button md-icon" for="__search">
  54. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
  55. </label>
  56. <div class="md-search" data-md-component="search" role="dialog">
  57. <label class="md-search__overlay" for="__search"></label>
  58. <div class="md-search__inner" role="search">
  59. <form class="md-search__form" name="search">
  60. <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active" required>
  61. <label class="md-search__icon md-icon" for="__search">
  62. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
  63. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
  64. </label>
  65. <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
  66. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
  67. </button>
  68. </form>
  69. <div class="md-search__output">
  70. <div class="md-search__scrollwrap" data-md-scrollfix>
  71. <div class="md-search-result" data-md-component="search-result">
  72. <div class="md-search-result__meta">
  73. Initializing search
  74. </div>
  75. <ol class="md-search-result__list"></ol>
  76. </div>
  77. </div>
  78. </div>
  79. </div>
  80. </div>
  81. </nav>
  82. </header>
  83. <div class="md-container" data-md-component="container">
  84. <main class="md-main" data-md-component="main">
  85. <div class="md-main__inner md-grid">
  86. <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
  87. <div class="md-sidebar__scrollwrap">
  88. <div class="md-sidebar__inner">
  89. <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  90. <label class="md-nav__title" for="__drawer">
  91. <a href="index.html" title="FreeType-2.11.0 API Reference" class="md-nav__button md-logo" aria-label="FreeType-2.11.0 API Reference" data-md-component="logo">
  92. <img src="images/favico.ico" alt="logo">
  93. </a>
  94. FreeType-2.11.0 API Reference
  95. </label>
  96. <ul class="md-nav__list" data-md-scrollfix>
  97. <li class="md-nav__item">
  98. <a href="index.html" class="md-nav__link">
  99. TOC
  100. </a>
  101. </li>
  102. <li class="md-nav__item">
  103. <a href="ft2-index.html" class="md-nav__link">
  104. Index
  105. </a>
  106. </li>
  107. <li class="md-nav__item md-nav__item--nested">
  108. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
  109. <label class="md-nav__link" for="__nav_3">
  110. General Remarks
  111. <span class="md-nav__icon md-icon"></span>
  112. </label>
  113. <nav class="md-nav" aria-label="General Remarks" data-md-level="1">
  114. <label class="md-nav__title" for="__nav_3">
  115. <span class="md-nav__icon md-icon"></span>
  116. General Remarks
  117. </label>
  118. <ul class="md-nav__list" data-md-scrollfix>
  119. <li class="md-nav__item">
  120. <a href="ft2-preamble.html" class="md-nav__link">
  121. Preamble
  122. </a>
  123. </li>
  124. <li class="md-nav__item">
  125. <a href="ft2-header_inclusion.html" class="md-nav__link">
  126. FreeType's header inclusion scheme
  127. </a>
  128. </li>
  129. <li class="md-nav__item">
  130. <a href="ft2-user_allocation.html" class="md-nav__link">
  131. User allocation
  132. </a>
  133. </li>
  134. </ul>
  135. </nav>
  136. </li>
  137. <li class="md-nav__item md-nav__item--nested">
  138. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
  139. <label class="md-nav__link" for="__nav_4">
  140. Core API
  141. <span class="md-nav__icon md-icon"></span>
  142. </label>
  143. <nav class="md-nav" aria-label="Core API" data-md-level="1">
  144. <label class="md-nav__title" for="__nav_4">
  145. <span class="md-nav__icon md-icon"></span>
  146. Core API
  147. </label>
  148. <ul class="md-nav__list" data-md-scrollfix>
  149. <li class="md-nav__item">
  150. <a href="ft2-version.html" class="md-nav__link">
  151. FreeType Version
  152. </a>
  153. </li>
  154. <li class="md-nav__item">
  155. <a href="ft2-basic_types.html" class="md-nav__link">
  156. Basic Data Types
  157. </a>
  158. </li>
  159. <li class="md-nav__item">
  160. <a href="ft2-base_interface.html" class="md-nav__link">
  161. Base Interface
  162. </a>
  163. </li>
  164. <li class="md-nav__item">
  165. <a href="ft2-glyph_variants.html" class="md-nav__link">
  166. Unicode Variation Sequences
  167. </a>
  168. </li>
  169. <li class="md-nav__item">
  170. <a href="ft2-color_management.html" class="md-nav__link">
  171. Glyph Color Management
  172. </a>
  173. </li>
  174. <li class="md-nav__item">
  175. <a href="ft2-layer_management.html" class="md-nav__link">
  176. Glyph Layer Management
  177. </a>
  178. </li>
  179. <li class="md-nav__item">
  180. <a href="ft2-glyph_management.html" class="md-nav__link">
  181. Glyph Management
  182. </a>
  183. </li>
  184. <li class="md-nav__item">
  185. <a href="ft2-mac_specific.html" class="md-nav__link">
  186. Mac Specific Interface
  187. </a>
  188. </li>
  189. <li class="md-nav__item">
  190. <a href="ft2-sizes_management.html" class="md-nav__link">
  191. Size Management
  192. </a>
  193. </li>
  194. <li class="md-nav__item">
  195. <a href="ft2-header_file_macros.html" class="md-nav__link">
  196. Header File Macros
  197. </a>
  198. </li>
  199. </ul>
  200. </nav>
  201. </li>
  202. <li class="md-nav__item md-nav__item--nested">
  203. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
  204. <label class="md-nav__link" for="__nav_5">
  205. Format-Specific API
  206. <span class="md-nav__icon md-icon"></span>
  207. </label>
  208. <nav class="md-nav" aria-label="Format-Specific API" data-md-level="1">
  209. <label class="md-nav__title" for="__nav_5">
  210. <span class="md-nav__icon md-icon"></span>
  211. Format-Specific API
  212. </label>
  213. <ul class="md-nav__list" data-md-scrollfix>
  214. <li class="md-nav__item">
  215. <a href="ft2-multiple_masters.html" class="md-nav__link">
  216. Multiple Masters
  217. </a>
  218. </li>
  219. <li class="md-nav__item">
  220. <a href="ft2-truetype_tables.html" class="md-nav__link">
  221. TrueType Tables
  222. </a>
  223. </li>
  224. <li class="md-nav__item">
  225. <a href="ft2-type1_tables.html" class="md-nav__link">
  226. Type 1 Tables
  227. </a>
  228. </li>
  229. <li class="md-nav__item">
  230. <a href="ft2-sfnt_names.html" class="md-nav__link">
  231. SFNT Names
  232. </a>
  233. </li>
  234. <li class="md-nav__item">
  235. <a href="ft2-bdf_fonts.html" class="md-nav__link">
  236. BDF and PCF Files
  237. </a>
  238. </li>
  239. <li class="md-nav__item">
  240. <a href="ft2-cid_fonts.html" class="md-nav__link">
  241. CID Fonts
  242. </a>
  243. </li>
  244. <li class="md-nav__item">
  245. <a href="ft2-pfr_fonts.html" class="md-nav__link">
  246. PFR Fonts
  247. </a>
  248. </li>
  249. <li class="md-nav__item">
  250. <a href="ft2-winfnt_fonts.html" class="md-nav__link">
  251. Window FNT Files
  252. </a>
  253. </li>
  254. <li class="md-nav__item">
  255. <a href="ft2-font_formats.html" class="md-nav__link">
  256. Font Formats
  257. </a>
  258. </li>
  259. <li class="md-nav__item">
  260. <a href="ft2-gasp_table.html" class="md-nav__link">
  261. Gasp Table
  262. </a>
  263. </li>
  264. </ul>
  265. </nav>
  266. </li>
  267. <li class="md-nav__item md-nav__item--nested">
  268. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
  269. <label class="md-nav__link" for="__nav_6">
  270. Controlling FreeType Modules
  271. <span class="md-nav__icon md-icon"></span>
  272. </label>
  273. <nav class="md-nav" aria-label="Controlling FreeType Modules" data-md-level="1">
  274. <label class="md-nav__title" for="__nav_6">
  275. <span class="md-nav__icon md-icon"></span>
  276. Controlling FreeType Modules
  277. </label>
  278. <ul class="md-nav__list" data-md-scrollfix>
  279. <li class="md-nav__item">
  280. <a href="ft2-auto_hinter.html" class="md-nav__link">
  281. The auto-hinter
  282. </a>
  283. </li>
  284. <li class="md-nav__item">
  285. <a href="ft2-cff_driver.html" class="md-nav__link">
  286. The CFF driver
  287. </a>
  288. </li>
  289. <li class="md-nav__item">
  290. <a href="ft2-t1_cid_driver.html" class="md-nav__link">
  291. The Type 1 and CID drivers
  292. </a>
  293. </li>
  294. <li class="md-nav__item">
  295. <a href="ft2-tt_driver.html" class="md-nav__link">
  296. The TrueType driver
  297. </a>
  298. </li>
  299. <li class="md-nav__item">
  300. <a href="ft2-pcf_driver.html" class="md-nav__link">
  301. The PCF driver
  302. </a>
  303. </li>
  304. <li class="md-nav__item">
  305. <a href="ft2-properties.html" class="md-nav__link">
  306. Driver properties
  307. </a>
  308. </li>
  309. <li class="md-nav__item">
  310. <a href="ft2-parameter_tags.html" class="md-nav__link">
  311. Parameter Tags
  312. </a>
  313. </li>
  314. <li class="md-nav__item">
  315. <a href="ft2-lcd_rendering.html" class="md-nav__link">
  316. Subpixel Rendering
  317. </a>
  318. </li>
  319. </ul>
  320. </nav>
  321. </li>
  322. <li class="md-nav__item md-nav__item--nested">
  323. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
  324. <label class="md-nav__link" for="__nav_7">
  325. Cache Sub-System
  326. <span class="md-nav__icon md-icon"></span>
  327. </label>
  328. <nav class="md-nav" aria-label="Cache Sub-System" data-md-level="1">
  329. <label class="md-nav__title" for="__nav_7">
  330. <span class="md-nav__icon md-icon"></span>
  331. Cache Sub-System
  332. </label>
  333. <ul class="md-nav__list" data-md-scrollfix>
  334. <li class="md-nav__item">
  335. <a href="ft2-cache_subsystem.html" class="md-nav__link">
  336. Cache Sub-System
  337. </a>
  338. </li>
  339. </ul>
  340. </nav>
  341. </li>
  342. <li class="md-nav__item md-nav__item--active md-nav__item--nested">
  343. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_8" type="checkbox" id="__nav_8" checked>
  344. <label class="md-nav__link" for="__nav_8">
  345. Support API
  346. <span class="md-nav__icon md-icon"></span>
  347. </label>
  348. <nav class="md-nav" aria-label="Support API" data-md-level="1">
  349. <label class="md-nav__title" for="__nav_8">
  350. <span class="md-nav__icon md-icon"></span>
  351. Support API
  352. </label>
  353. <ul class="md-nav__list" data-md-scrollfix>
  354. <li class="md-nav__item">
  355. <a href="ft2-computations.html" class="md-nav__link">
  356. Computations
  357. </a>
  358. </li>
  359. <li class="md-nav__item">
  360. <a href="ft2-list_processing.html" class="md-nav__link">
  361. List Processing
  362. </a>
  363. </li>
  364. <li class="md-nav__item">
  365. <a href="ft2-outline_processing.html" class="md-nav__link">
  366. Outline Processing
  367. </a>
  368. </li>
  369. <li class="md-nav__item">
  370. <a href="ft2-quick_advance.html" class="md-nav__link">
  371. Quick retrieval of advance values
  372. </a>
  373. </li>
  374. <li class="md-nav__item">
  375. <a href="ft2-bitmap_handling.html" class="md-nav__link">
  376. Bitmap Handling
  377. </a>
  378. </li>
  379. <li class="md-nav__item">
  380. <a href="ft2-raster.html" class="md-nav__link">
  381. Scanline Converter
  382. </a>
  383. </li>
  384. <li class="md-nav__item md-nav__item--active">
  385. <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
  386. <label class="md-nav__link md-nav__link--active" for="__toc">
  387. Glyph Stroker
  388. <span class="md-nav__icon md-icon"></span>
  389. </label>
  390. <a href="ft2-glyph_stroker.html" class="md-nav__link md-nav__link--active">
  391. Glyph Stroker
  392. </a>
  393. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  394. <label class="md-nav__title" for="__toc">
  395. <span class="md-nav__icon md-icon"></span>
  396. Table of contents
  397. </label>
  398. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  399. <li class="md-nav__item">
  400. <a href="#synopsis" class="md-nav__link">
  401. Synopsis
  402. </a>
  403. </li>
  404. <li class="md-nav__item">
  405. <a href="#ft_stroker" class="md-nav__link">
  406. FT_Stroker
  407. </a>
  408. </li>
  409. <li class="md-nav__item">
  410. <a href="#ft_stroker_linejoin" class="md-nav__link">
  411. FT_Stroker_LineJoin
  412. </a>
  413. </li>
  414. <li class="md-nav__item">
  415. <a href="#ft_stroker_linecap" class="md-nav__link">
  416. FT_Stroker_LineCap
  417. </a>
  418. </li>
  419. <li class="md-nav__item">
  420. <a href="#ft_strokerborder" class="md-nav__link">
  421. FT_StrokerBorder
  422. </a>
  423. </li>
  424. <li class="md-nav__item">
  425. <a href="#ft_outline_getinsideborder" class="md-nav__link">
  426. FT_Outline_GetInsideBorder
  427. </a>
  428. </li>
  429. <li class="md-nav__item">
  430. <a href="#ft_outline_getoutsideborder" class="md-nav__link">
  431. FT_Outline_GetOutsideBorder
  432. </a>
  433. </li>
  434. <li class="md-nav__item">
  435. <a href="#ft_glyph_stroke" class="md-nav__link">
  436. FT_Glyph_Stroke
  437. </a>
  438. </li>
  439. <li class="md-nav__item">
  440. <a href="#ft_glyph_strokeborder" class="md-nav__link">
  441. FT_Glyph_StrokeBorder
  442. </a>
  443. </li>
  444. <li class="md-nav__item">
  445. <a href="#ft_stroker_new" class="md-nav__link">
  446. FT_Stroker_New
  447. </a>
  448. </li>
  449. <li class="md-nav__item">
  450. <a href="#ft_stroker_set" class="md-nav__link">
  451. FT_Stroker_Set
  452. </a>
  453. </li>
  454. <li class="md-nav__item">
  455. <a href="#ft_stroker_rewind" class="md-nav__link">
  456. FT_Stroker_Rewind
  457. </a>
  458. </li>
  459. <li class="md-nav__item">
  460. <a href="#ft_stroker_parseoutline" class="md-nav__link">
  461. FT_Stroker_ParseOutline
  462. </a>
  463. </li>
  464. <li class="md-nav__item">
  465. <a href="#ft_stroker_done" class="md-nav__link">
  466. FT_Stroker_Done
  467. </a>
  468. </li>
  469. <li class="md-nav__item">
  470. <a href="#ft_stroker_beginsubpath" class="md-nav__link">
  471. FT_Stroker_BeginSubPath
  472. </a>
  473. </li>
  474. <li class="md-nav__item">
  475. <a href="#ft_stroker_endsubpath" class="md-nav__link">
  476. FT_Stroker_EndSubPath
  477. </a>
  478. </li>
  479. <li class="md-nav__item">
  480. <a href="#ft_stroker_lineto" class="md-nav__link">
  481. FT_Stroker_LineTo
  482. </a>
  483. </li>
  484. <li class="md-nav__item">
  485. <a href="#ft_stroker_conicto" class="md-nav__link">
  486. FT_Stroker_ConicTo
  487. </a>
  488. </li>
  489. <li class="md-nav__item">
  490. <a href="#ft_stroker_cubicto" class="md-nav__link">
  491. FT_Stroker_CubicTo
  492. </a>
  493. </li>
  494. <li class="md-nav__item">
  495. <a href="#ft_stroker_getbordercounts" class="md-nav__link">
  496. FT_Stroker_GetBorderCounts
  497. </a>
  498. </li>
  499. <li class="md-nav__item">
  500. <a href="#ft_stroker_exportborder" class="md-nav__link">
  501. FT_Stroker_ExportBorder
  502. </a>
  503. </li>
  504. <li class="md-nav__item">
  505. <a href="#ft_stroker_getcounts" class="md-nav__link">
  506. FT_Stroker_GetCounts
  507. </a>
  508. </li>
  509. <li class="md-nav__item">
  510. <a href="#ft_stroker_export" class="md-nav__link">
  511. FT_Stroker_Export
  512. </a>
  513. </li>
  514. </ul>
  515. </nav>
  516. </li>
  517. <li class="md-nav__item">
  518. <a href="ft2-system_interface.html" class="md-nav__link">
  519. System Interface
  520. </a>
  521. </li>
  522. <li class="md-nav__item">
  523. <a href="ft2-module_management.html" class="md-nav__link">
  524. Module Management
  525. </a>
  526. </li>
  527. <li class="md-nav__item">
  528. <a href="ft2-gzip.html" class="md-nav__link">
  529. GZIP Streams
  530. </a>
  531. </li>
  532. <li class="md-nav__item">
  533. <a href="ft2-lzw.html" class="md-nav__link">
  534. LZW Streams
  535. </a>
  536. </li>
  537. <li class="md-nav__item">
  538. <a href="ft2-bzip2.html" class="md-nav__link">
  539. BZIP2 Streams
  540. </a>
  541. </li>
  542. <li class="md-nav__item">
  543. <a href="ft2-debugging_apis.html" class="md-nav__link">
  544. External Debugging APIs
  545. </a>
  546. </li>
  547. </ul>
  548. </nav>
  549. </li>
  550. <li class="md-nav__item md-nav__item--nested">
  551. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_9" type="checkbox" id="__nav_9" >
  552. <label class="md-nav__link" for="__nav_9">
  553. Error Codes
  554. <span class="md-nav__icon md-icon"></span>
  555. </label>
  556. <nav class="md-nav" aria-label="Error Codes" data-md-level="1">
  557. <label class="md-nav__title" for="__nav_9">
  558. <span class="md-nav__icon md-icon"></span>
  559. Error Codes
  560. </label>
  561. <ul class="md-nav__list" data-md-scrollfix>
  562. <li class="md-nav__item">
  563. <a href="ft2-error_enumerations.html" class="md-nav__link">
  564. Error Enumerations
  565. </a>
  566. </li>
  567. <li class="md-nav__item">
  568. <a href="ft2-error_code_values.html" class="md-nav__link">
  569. Error Code Values
  570. </a>
  571. </li>
  572. </ul>
  573. </nav>
  574. </li>
  575. <li class="md-nav__item md-nav__item--nested">
  576. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_10" type="checkbox" id="__nav_10" >
  577. <label class="md-nav__link" for="__nav_10">
  578. Miscellaneous
  579. <span class="md-nav__icon md-icon"></span>
  580. </label>
  581. <nav class="md-nav" aria-label="Miscellaneous" data-md-level="1">
  582. <label class="md-nav__title" for="__nav_10">
  583. <span class="md-nav__icon md-icon"></span>
  584. Miscellaneous
  585. </label>
  586. <ul class="md-nav__list" data-md-scrollfix>
  587. <li class="md-nav__item">
  588. <a href="ft2-gx_validation.html" class="md-nav__link">
  589. TrueTypeGX/AAT Validation
  590. </a>
  591. </li>
  592. <li class="md-nav__item">
  593. <a href="ft2-incremental.html" class="md-nav__link">
  594. Incremental Loading
  595. </a>
  596. </li>
  597. <li class="md-nav__item">
  598. <a href="ft2-truetype_engine.html" class="md-nav__link">
  599. The TrueType Engine
  600. </a>
  601. </li>
  602. <li class="md-nav__item">
  603. <a href="ft2-ot_validation.html" class="md-nav__link">
  604. OpenType Validation
  605. </a>
  606. </li>
  607. </ul>
  608. </nav>
  609. </li>
  610. </ul>
  611. </nav>
  612. </div>
  613. </div>
  614. </div>
  615. <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
  616. <div class="md-sidebar__scrollwrap">
  617. <div class="md-sidebar__inner">
  618. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  619. <label class="md-nav__title" for="__toc">
  620. <span class="md-nav__icon md-icon"></span>
  621. Table of contents
  622. </label>
  623. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  624. <li class="md-nav__item">
  625. <a href="#synopsis" class="md-nav__link">
  626. Synopsis
  627. </a>
  628. </li>
  629. <li class="md-nav__item">
  630. <a href="#ft_stroker" class="md-nav__link">
  631. FT_Stroker
  632. </a>
  633. </li>
  634. <li class="md-nav__item">
  635. <a href="#ft_stroker_linejoin" class="md-nav__link">
  636. FT_Stroker_LineJoin
  637. </a>
  638. </li>
  639. <li class="md-nav__item">
  640. <a href="#ft_stroker_linecap" class="md-nav__link">
  641. FT_Stroker_LineCap
  642. </a>
  643. </li>
  644. <li class="md-nav__item">
  645. <a href="#ft_strokerborder" class="md-nav__link">
  646. FT_StrokerBorder
  647. </a>
  648. </li>
  649. <li class="md-nav__item">
  650. <a href="#ft_outline_getinsideborder" class="md-nav__link">
  651. FT_Outline_GetInsideBorder
  652. </a>
  653. </li>
  654. <li class="md-nav__item">
  655. <a href="#ft_outline_getoutsideborder" class="md-nav__link">
  656. FT_Outline_GetOutsideBorder
  657. </a>
  658. </li>
  659. <li class="md-nav__item">
  660. <a href="#ft_glyph_stroke" class="md-nav__link">
  661. FT_Glyph_Stroke
  662. </a>
  663. </li>
  664. <li class="md-nav__item">
  665. <a href="#ft_glyph_strokeborder" class="md-nav__link">
  666. FT_Glyph_StrokeBorder
  667. </a>
  668. </li>
  669. <li class="md-nav__item">
  670. <a href="#ft_stroker_new" class="md-nav__link">
  671. FT_Stroker_New
  672. </a>
  673. </li>
  674. <li class="md-nav__item">
  675. <a href="#ft_stroker_set" class="md-nav__link">
  676. FT_Stroker_Set
  677. </a>
  678. </li>
  679. <li class="md-nav__item">
  680. <a href="#ft_stroker_rewind" class="md-nav__link">
  681. FT_Stroker_Rewind
  682. </a>
  683. </li>
  684. <li class="md-nav__item">
  685. <a href="#ft_stroker_parseoutline" class="md-nav__link">
  686. FT_Stroker_ParseOutline
  687. </a>
  688. </li>
  689. <li class="md-nav__item">
  690. <a href="#ft_stroker_done" class="md-nav__link">
  691. FT_Stroker_Done
  692. </a>
  693. </li>
  694. <li class="md-nav__item">
  695. <a href="#ft_stroker_beginsubpath" class="md-nav__link">
  696. FT_Stroker_BeginSubPath
  697. </a>
  698. </li>
  699. <li class="md-nav__item">
  700. <a href="#ft_stroker_endsubpath" class="md-nav__link">
  701. FT_Stroker_EndSubPath
  702. </a>
  703. </li>
  704. <li class="md-nav__item">
  705. <a href="#ft_stroker_lineto" class="md-nav__link">
  706. FT_Stroker_LineTo
  707. </a>
  708. </li>
  709. <li class="md-nav__item">
  710. <a href="#ft_stroker_conicto" class="md-nav__link">
  711. FT_Stroker_ConicTo
  712. </a>
  713. </li>
  714. <li class="md-nav__item">
  715. <a href="#ft_stroker_cubicto" class="md-nav__link">
  716. FT_Stroker_CubicTo
  717. </a>
  718. </li>
  719. <li class="md-nav__item">
  720. <a href="#ft_stroker_getbordercounts" class="md-nav__link">
  721. FT_Stroker_GetBorderCounts
  722. </a>
  723. </li>
  724. <li class="md-nav__item">
  725. <a href="#ft_stroker_exportborder" class="md-nav__link">
  726. FT_Stroker_ExportBorder
  727. </a>
  728. </li>
  729. <li class="md-nav__item">
  730. <a href="#ft_stroker_getcounts" class="md-nav__link">
  731. FT_Stroker_GetCounts
  732. </a>
  733. </li>
  734. <li class="md-nav__item">
  735. <a href="#ft_stroker_export" class="md-nav__link">
  736. FT_Stroker_Export
  737. </a>
  738. </li>
  739. </ul>
  740. </nav>
  741. </div>
  742. </div>
  743. </div>
  744. <div class="md-content" data-md-component="content">
  745. <article class="md-content__inner md-typeset">
  746. <p><a href="https://www.freetype.org">FreeType</a> &raquo; <a href="../">Docs</a> &raquo; <a href="index.html#support-api">Support API</a> &raquo; Glyph Stroker</p>
  747. <hr />
  748. <h1 id="glyph-stroker">Glyph Stroker<a class="headerlink" href="#glyph-stroker" title="Permanent link">&para;</a></h1>
  749. <h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
  750. <p>This component generates stroked outlines of a given vectorial glyph. It also allows you to retrieve the &lsquo;outside&rsquo; and/or the &lsquo;inside&rsquo; borders of the stroke.</p>
  751. <p>This can be useful to generate &lsquo;bordered&rsquo; glyph, i.e., glyphs displayed with a colored (and anti-aliased) border around their shape.</p>
  752. <h2 id="ft_stroker">FT_Stroker<a class="headerlink" href="#ft_stroker" title="Permanent link">&para;</a></h2>
  753. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  754. <div class = "codehilite"><pre><code> <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StrokerRec_* <b>FT_Stroker</b>;
  755. </code></pre></div>
  756. <p>Opaque handle to a path stroker object.</p>
  757. <hr>
  758. <h2 id="ft_stroker_linejoin">FT_Stroker_LineJoin<a class="headerlink" href="#ft_stroker_linejoin" title="Permanent link">&para;</a></h2>
  759. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  760. <div class = "codehilite"><pre><code> <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Stroker_LineJoin_
  761. {
  762. <a href="ft2-glyph_stroker.html#ft_stroker_linejoin_round">FT_STROKER_LINEJOIN_ROUND</a> = 0,
  763. <a href="ft2-glyph_stroker.html#ft_stroker_linejoin_bevel">FT_STROKER_LINEJOIN_BEVEL</a> = 1,
  764. <a href="ft2-glyph_stroker.html#ft_stroker_linejoin_miter_variable">FT_STROKER_LINEJOIN_MITER_VARIABLE</a> = 2,
  765. <a href="ft2-glyph_stroker.html#ft_stroker_linejoin_miter">FT_STROKER_LINEJOIN_MITER</a> = <a href="ft2-glyph_stroker.html#ft_stroker_linejoin_miter_variable">FT_STROKER_LINEJOIN_MITER_VARIABLE</a>,
  766. <a href="ft2-glyph_stroker.html#ft_stroker_linejoin_miter_fixed">FT_STROKER_LINEJOIN_MITER_FIXED</a> = 3
  767. } <b>FT_Stroker_LineJoin</b>;
  768. </code></pre></div>
  769. <p>These values determine how two joining lines are rendered in a stroker.</p>
  770. <h4>values</h4>
  771. <table class="fields long">
  772. <tr><td class="val" id="ft_stroker_linejoin_round">FT_STROKER_LINEJOIN_ROUND</td><td class="desc">
  773. <p>Used to render rounded line joins. Circular arcs are used to join two lines smoothly.</p>
  774. </td></tr>
  775. <tr><td class="val" id="ft_stroker_linejoin_bevel">FT_STROKER_LINEJOIN_BEVEL</td><td class="desc">
  776. <p>Used to render beveled line joins. The outer corner of the joined lines is filled by enclosing the triangular region of the corner with a straight line between the outer corners of each stroke.</p>
  777. </td></tr>
  778. <tr><td class="val" id="ft_stroker_linejoin_miter_fixed">FT_STROKER_LINEJOIN_MITER_FIXED</td><td class="desc">
  779. <p>Used to render mitered line joins, with fixed bevels if the miter limit is exceeded. The outer edges of the strokes for the two segments are extended until they meet at an angle. A bevel join (see above) is used if the segments meet at too sharp an angle and the outer edges meet beyond a distance corresponding to the meter limit. This prevents long spikes being created. <code>FT_STROKER_LINEJOIN_MITER_FIXED</code> generates a miter line join as used in PostScript and PDF.</p>
  780. </td></tr>
  781. <tr><td class="val" id="ft_stroker_linejoin_miter_variable">FT_STROKER_LINEJOIN_MITER_VARIABLE</td><td class="desc">
  782. </td></tr>
  783. <tr><td class="val" id="ft_stroker_linejoin_miter">FT_STROKER_LINEJOIN_MITER</td><td class="desc">
  784. <p>Used to render mitered line joins, with variable bevels if the miter limit is exceeded. The intersection of the strokes is clipped perpendicularly to the bisector, at a distance corresponding to the miter limit. This prevents long spikes being created. <code>FT_STROKER_LINEJOIN_MITER_VARIABLE</code> generates a mitered line join as used in XPS. <code>FT_STROKER_LINEJOIN_MITER</code> is an alias for <code>FT_STROKER_LINEJOIN_MITER_VARIABLE</code>, retained for backward compatibility.</p>
  785. </td></tr>
  786. </table>
  787. <hr>
  788. <h2 id="ft_stroker_linecap">FT_Stroker_LineCap<a class="headerlink" href="#ft_stroker_linecap" title="Permanent link">&para;</a></h2>
  789. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  790. <div class = "codehilite"><pre><code> <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Stroker_LineCap_
  791. {
  792. <a href="ft2-glyph_stroker.html#ft_stroker_linecap_butt">FT_STROKER_LINECAP_BUTT</a> = 0,
  793. <a href="ft2-glyph_stroker.html#ft_stroker_linecap_round">FT_STROKER_LINECAP_ROUND</a>,
  794. <a href="ft2-glyph_stroker.html#ft_stroker_linecap_square">FT_STROKER_LINECAP_SQUARE</a>
  795. } <b>FT_Stroker_LineCap</b>;
  796. </code></pre></div>
  797. <p>These values determine how the end of opened sub-paths are rendered in a stroke.</p>
  798. <h4>values</h4>
  799. <table class="fields">
  800. <tr><td class="val" id="ft_stroker_linecap_butt">FT_STROKER_LINECAP_BUTT</td><td class="desc">
  801. <p>The end of lines is rendered as a full stop on the last point itself.</p>
  802. </td></tr>
  803. <tr><td class="val" id="ft_stroker_linecap_round">FT_STROKER_LINECAP_ROUND</td><td class="desc">
  804. <p>The end of lines is rendered as a half-circle around the last point.</p>
  805. </td></tr>
  806. <tr><td class="val" id="ft_stroker_linecap_square">FT_STROKER_LINECAP_SQUARE</td><td class="desc">
  807. <p>The end of lines is rendered as a square around the last point.</p>
  808. </td></tr>
  809. </table>
  810. <hr>
  811. <h2 id="ft_strokerborder">FT_StrokerBorder<a class="headerlink" href="#ft_strokerborder" title="Permanent link">&para;</a></h2>
  812. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  813. <div class = "codehilite"><pre><code> <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_StrokerBorder_
  814. {
  815. <a href="ft2-glyph_stroker.html#ft_stroker_border_left">FT_STROKER_BORDER_LEFT</a> = 0,
  816. <a href="ft2-glyph_stroker.html#ft_stroker_border_right">FT_STROKER_BORDER_RIGHT</a>
  817. } <b>FT_StrokerBorder</b>;
  818. </code></pre></div>
  819. <p>These values are used to select a given stroke border in <code><a href="ft2-glyph_stroker.html#ft_stroker_getbordercounts">FT_Stroker_GetBorderCounts</a></code> and <code><a href="ft2-glyph_stroker.html#ft_stroker_exportborder">FT_Stroker_ExportBorder</a></code>.</p>
  820. <h4>values</h4>
  821. <table class="fields">
  822. <tr><td class="val" id="ft_stroker_border_left">FT_STROKER_BORDER_LEFT</td><td class="desc">
  823. <p>Select the left border, relative to the drawing direction.</p>
  824. </td></tr>
  825. <tr><td class="val" id="ft_stroker_border_right">FT_STROKER_BORDER_RIGHT</td><td class="desc">
  826. <p>Select the right border, relative to the drawing direction.</p>
  827. </td></tr>
  828. </table>
  829. <h4>note</h4>
  830. <p>Applications are generally interested in the &lsquo;inside&rsquo; and &lsquo;outside&rsquo; borders. However, there is no direct mapping between these and the &lsquo;left&rsquo; and &lsquo;right&rsquo; ones, since this really depends on the glyph's drawing orientation, which varies between font formats.</p>
  831. <p>You can however use <code><a href="ft2-glyph_stroker.html#ft_outline_getinsideborder">FT_Outline_GetInsideBorder</a></code> and <code><a href="ft2-glyph_stroker.html#ft_outline_getoutsideborder">FT_Outline_GetOutsideBorder</a></code> to get these.</p>
  832. <hr>
  833. <h2 id="ft_outline_getinsideborder">FT_Outline_GetInsideBorder<a class="headerlink" href="#ft_outline_getinsideborder" title="Permanent link">&para;</a></h2>
  834. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  835. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-glyph_stroker.html#ft_strokerborder">FT_StrokerBorder</a> )
  836. <b>FT_Outline_GetInsideBorder</b>( <a href="ft2-outline_processing.html#ft_outline">FT_Outline</a>* outline );
  837. </code></pre></div>
  838. <p>Retrieve the <code><a href="ft2-glyph_stroker.html#ft_strokerborder">FT_StrokerBorder</a></code> value corresponding to the &lsquo;inside&rsquo; borders of a given outline.</p>
  839. <h4>input</h4>
  840. <table class="fields">
  841. <tr><td class="val" id="outline">outline</td><td class="desc">
  842. <p>The source outline handle.</p>
  843. </td></tr>
  844. </table>
  845. <h4>return</h4>
  846. <p>The border index. <code><a href="ft2-glyph_stroker.html#ft_strokerborder">FT_STROKER_BORDER_RIGHT</a></code> for empty or invalid outlines.</p>
  847. <hr>
  848. <h2 id="ft_outline_getoutsideborder">FT_Outline_GetOutsideBorder<a class="headerlink" href="#ft_outline_getoutsideborder" title="Permanent link">&para;</a></h2>
  849. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  850. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-glyph_stroker.html#ft_strokerborder">FT_StrokerBorder</a> )
  851. <b>FT_Outline_GetOutsideBorder</b>( <a href="ft2-outline_processing.html#ft_outline">FT_Outline</a>* outline );
  852. </code></pre></div>
  853. <p>Retrieve the <code><a href="ft2-glyph_stroker.html#ft_strokerborder">FT_StrokerBorder</a></code> value corresponding to the &lsquo;outside&rsquo; borders of a given outline.</p>
  854. <h4>input</h4>
  855. <table class="fields">
  856. <tr><td class="val" id="outline">outline</td><td class="desc">
  857. <p>The source outline handle.</p>
  858. </td></tr>
  859. </table>
  860. <h4>return</h4>
  861. <p>The border index. <code><a href="ft2-glyph_stroker.html#ft_strokerborder">FT_STROKER_BORDER_LEFT</a></code> for empty or invalid outlines.</p>
  862. <hr>
  863. <h2 id="ft_glyph_stroke">FT_Glyph_Stroke<a class="headerlink" href="#ft_glyph_stroke" title="Permanent link">&para;</a></h2>
  864. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  865. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
  866. <b>FT_Glyph_Stroke</b>( <a href="ft2-glyph_management.html#ft_glyph">FT_Glyph</a> *pglyph,
  867. <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker,
  868. <a href="ft2-basic_types.html#ft_bool">FT_Bool</a> destroy );
  869. </code></pre></div>
  870. <p>Stroke a given outline glyph object with a given stroker.</p>
  871. <h4>inout</h4>
  872. <table class="fields">
  873. <tr><td class="val" id="pglyph">pglyph</td><td class="desc">
  874. <p>Source glyph handle on input, new glyph handle on output.</p>
  875. </td></tr>
  876. </table>
  877. <h4>input</h4>
  878. <table class="fields">
  879. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  880. <p>A stroker handle.</p>
  881. </td></tr>
  882. <tr><td class="val" id="destroy">destroy</td><td class="desc">
  883. <p>A Boolean. If&nbsp;1, the source glyph object is destroyed on success.</p>
  884. </td></tr>
  885. </table>
  886. <h4>return</h4>
  887. <p>FreeType error code. 0&nbsp;means success.</p>
  888. <h4>note</h4>
  889. <p>The source glyph is untouched in case of error.</p>
  890. <p>Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.</p>
  891. <hr>
  892. <h2 id="ft_glyph_strokeborder">FT_Glyph_StrokeBorder<a class="headerlink" href="#ft_glyph_strokeborder" title="Permanent link">&para;</a></h2>
  893. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  894. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
  895. <b>FT_Glyph_StrokeBorder</b>( <a href="ft2-glyph_management.html#ft_glyph">FT_Glyph</a> *pglyph,
  896. <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker,
  897. <a href="ft2-basic_types.html#ft_bool">FT_Bool</a> inside,
  898. <a href="ft2-basic_types.html#ft_bool">FT_Bool</a> destroy );
  899. </code></pre></div>
  900. <p>Stroke a given outline glyph object with a given stroker, but only return either its inside or outside border.</p>
  901. <h4>inout</h4>
  902. <table class="fields">
  903. <tr><td class="val" id="pglyph">pglyph</td><td class="desc">
  904. <p>Source glyph handle on input, new glyph handle on output.</p>
  905. </td></tr>
  906. </table>
  907. <h4>input</h4>
  908. <table class="fields">
  909. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  910. <p>A stroker handle.</p>
  911. </td></tr>
  912. <tr><td class="val" id="inside">inside</td><td class="desc">
  913. <p>A Boolean. If&nbsp;1, return the inside border, otherwise the outside border.</p>
  914. </td></tr>
  915. <tr><td class="val" id="destroy">destroy</td><td class="desc">
  916. <p>A Boolean. If&nbsp;1, the source glyph object is destroyed on success.</p>
  917. </td></tr>
  918. </table>
  919. <h4>return</h4>
  920. <p>FreeType error code. 0&nbsp;means success.</p>
  921. <h4>note</h4>
  922. <p>The source glyph is untouched in case of error.</p>
  923. <p>Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.</p>
  924. <hr>
  925. <h2 id="ft_stroker_new">FT_Stroker_New<a class="headerlink" href="#ft_stroker_new" title="Permanent link">&para;</a></h2>
  926. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  927. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
  928. <b>FT_Stroker_New</b>( <a href="ft2-base_interface.html#ft_library">FT_Library</a> library,
  929. <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> *astroker );
  930. </code></pre></div>
  931. <p>Create a new stroker object.</p>
  932. <h4>input</h4>
  933. <table class="fields">
  934. <tr><td class="val" id="library">library</td><td class="desc">
  935. <p>FreeType library handle.</p>
  936. </td></tr>
  937. </table>
  938. <h4>output</h4>
  939. <table class="fields">
  940. <tr><td class="val" id="astroker">astroker</td><td class="desc">
  941. <p>A new stroker object handle. <code>NULL</code> in case of error.</p>
  942. </td></tr>
  943. </table>
  944. <h4>return</h4>
  945. <p>FreeType error code. 0&nbsp;means success.</p>
  946. <hr>
  947. <h2 id="ft_stroker_set">FT_Stroker_Set<a class="headerlink" href="#ft_stroker_set" title="Permanent link">&para;</a></h2>
  948. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  949. <div class = "codehilite"><pre><code> FT_EXPORT( <span class="keyword">void</span> )
  950. <b>FT_Stroker_Set</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker,
  951. <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a> radius,
  952. <a href="ft2-glyph_stroker.html#ft_stroker_linecap">FT_Stroker_LineCap</a> line_cap,
  953. <a href="ft2-glyph_stroker.html#ft_stroker_linejoin">FT_Stroker_LineJoin</a> line_join,
  954. <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a> miter_limit );
  955. </code></pre></div>
  956. <p>Reset a stroker object's attributes.</p>
  957. <h4>input</h4>
  958. <table class="fields">
  959. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  960. <p>The target stroker handle.</p>
  961. </td></tr>
  962. <tr><td class="val" id="radius">radius</td><td class="desc">
  963. <p>The border radius.</p>
  964. </td></tr>
  965. <tr><td class="val" id="line_cap">line_cap</td><td class="desc">
  966. <p>The line cap style.</p>
  967. </td></tr>
  968. <tr><td class="val" id="line_join">line_join</td><td class="desc">
  969. <p>The line join style.</p>
  970. </td></tr>
  971. <tr><td class="val" id="miter_limit">miter_limit</td><td class="desc">
  972. <p>The maximum reciprocal sine of half-angle at the miter join, expressed as 16.16 fixed point value.</p>
  973. </td></tr>
  974. </table>
  975. <h4>note</h4>
  976. <p>The <code>radius</code> is expressed in the same units as the outline coordinates.</p>
  977. <p>The <code>miter_limit</code> multiplied by the <code>radius</code> gives the maximum size of a miter spike, at which it is clipped for <code><a href="ft2-glyph_stroker.html#ft_stroker_linejoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a></code> or replaced with a bevel join for <code><a href="ft2-glyph_stroker.html#ft_stroker_linejoin">FT_STROKER_LINEJOIN_MITER_FIXED</a></code>.</p>
  978. <p>This function calls <code><a href="ft2-glyph_stroker.html#ft_stroker_rewind">FT_Stroker_Rewind</a></code> automatically.</p>
  979. <hr>
  980. <h2 id="ft_stroker_rewind">FT_Stroker_Rewind<a class="headerlink" href="#ft_stroker_rewind" title="Permanent link">&para;</a></h2>
  981. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  982. <div class = "codehilite"><pre><code> FT_EXPORT( <span class="keyword">void</span> )
  983. <b>FT_Stroker_Rewind</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker );
  984. </code></pre></div>
  985. <p>Reset a stroker object without changing its attributes. You should call this function before beginning a new series of calls to <code><a href="ft2-glyph_stroker.html#ft_stroker_beginsubpath">FT_Stroker_BeginSubPath</a></code> or <code><a href="ft2-glyph_stroker.html#ft_stroker_endsubpath">FT_Stroker_EndSubPath</a></code>.</p>
  986. <h4>input</h4>
  987. <table class="fields">
  988. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  989. <p>The target stroker handle.</p>
  990. </td></tr>
  991. </table>
  992. <hr>
  993. <h2 id="ft_stroker_parseoutline">FT_Stroker_ParseOutline<a class="headerlink" href="#ft_stroker_parseoutline" title="Permanent link">&para;</a></h2>
  994. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  995. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
  996. <b>FT_Stroker_ParseOutline</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker,
  997. <a href="ft2-outline_processing.html#ft_outline">FT_Outline</a>* outline,
  998. <a href="ft2-basic_types.html#ft_bool">FT_Bool</a> opened );
  999. </code></pre></div>
  1000. <p>A convenience function used to parse a whole outline with the stroker. The resulting outline(s) can be retrieved later by functions like <code><a href="ft2-glyph_stroker.html#ft_stroker_getcounts">FT_Stroker_GetCounts</a></code> and <code><a href="ft2-glyph_stroker.html#ft_stroker_export">FT_Stroker_Export</a></code>.</p>
  1001. <h4>input</h4>
  1002. <table class="fields">
  1003. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  1004. <p>The target stroker handle.</p>
  1005. </td></tr>
  1006. <tr><td class="val" id="outline">outline</td><td class="desc">
  1007. <p>The source outline.</p>
  1008. </td></tr>
  1009. <tr><td class="val" id="opened">opened</td><td class="desc">
  1010. <p>A boolean. If&nbsp;1, the outline is treated as an open path instead of a closed one.</p>
  1011. </td></tr>
  1012. </table>
  1013. <h4>return</h4>
  1014. <p>FreeType error code. 0&nbsp;means success.</p>
  1015. <h4>note</h4>
  1016. <p>If <code>opened</code> is&nbsp;0 (the default), the outline is treated as a closed path, and the stroker generates two distinct &lsquo;border&rsquo; outlines.</p>
  1017. <p>If <code>opened</code> is&nbsp;1, the outline is processed as an open path, and the stroker generates a single &lsquo;stroke&rsquo; outline.</p>
  1018. <p>This function calls <code><a href="ft2-glyph_stroker.html#ft_stroker_rewind">FT_Stroker_Rewind</a></code> automatically.</p>
  1019. <hr>
  1020. <h2 id="ft_stroker_done">FT_Stroker_Done<a class="headerlink" href="#ft_stroker_done" title="Permanent link">&para;</a></h2>
  1021. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  1022. <div class = "codehilite"><pre><code> FT_EXPORT( <span class="keyword">void</span> )
  1023. <b>FT_Stroker_Done</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker );
  1024. </code></pre></div>
  1025. <p>Destroy a stroker object.</p>
  1026. <h4>input</h4>
  1027. <table class="fields">
  1028. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  1029. <p>A stroker handle. Can be <code>NULL</code>.</p>
  1030. </td></tr>
  1031. </table>
  1032. <hr>
  1033. <h2 id="ft_stroker_beginsubpath">FT_Stroker_BeginSubPath<a class="headerlink" href="#ft_stroker_beginsubpath" title="Permanent link">&para;</a></h2>
  1034. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  1035. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
  1036. <b>FT_Stroker_BeginSubPath</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker,
  1037. <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>* to,
  1038. <a href="ft2-basic_types.html#ft_bool">FT_Bool</a> open );
  1039. </code></pre></div>
  1040. <p>Start a new sub-path in the stroker.</p>
  1041. <h4>input</h4>
  1042. <table class="fields">
  1043. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  1044. <p>The target stroker handle.</p>
  1045. </td></tr>
  1046. <tr><td class="val" id="to">to</td><td class="desc">
  1047. <p>A pointer to the start vector.</p>
  1048. </td></tr>
  1049. <tr><td class="val" id="open">open</td><td class="desc">
  1050. <p>A boolean. If&nbsp;1, the sub-path is treated as an open one.</p>
  1051. </td></tr>
  1052. </table>
  1053. <h4>return</h4>
  1054. <p>FreeType error code. 0&nbsp;means success.</p>
  1055. <h4>note</h4>
  1056. <p>This function is useful when you need to stroke a path that is not stored as an <code><a href="ft2-outline_processing.html#ft_outline">FT_Outline</a></code> object.</p>
  1057. <hr>
  1058. <h2 id="ft_stroker_endsubpath">FT_Stroker_EndSubPath<a class="headerlink" href="#ft_stroker_endsubpath" title="Permanent link">&para;</a></h2>
  1059. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  1060. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
  1061. <b>FT_Stroker_EndSubPath</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker );
  1062. </code></pre></div>
  1063. <p>Close the current sub-path in the stroker.</p>
  1064. <h4>input</h4>
  1065. <table class="fields">
  1066. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  1067. <p>The target stroker handle.</p>
  1068. </td></tr>
  1069. </table>
  1070. <h4>return</h4>
  1071. <p>FreeType error code. 0&nbsp;means success.</p>
  1072. <h4>note</h4>
  1073. <p>You should call this function after <code><a href="ft2-glyph_stroker.html#ft_stroker_beginsubpath">FT_Stroker_BeginSubPath</a></code>. If the subpath was not &lsquo;opened&rsquo;, this function &lsquo;draws&rsquo; a single line segment to the start position when needed.</p>
  1074. <hr>
  1075. <h2 id="ft_stroker_lineto">FT_Stroker_LineTo<a class="headerlink" href="#ft_stroker_lineto" title="Permanent link">&para;</a></h2>
  1076. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  1077. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
  1078. <b>FT_Stroker_LineTo</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker,
  1079. <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>* to );
  1080. </code></pre></div>
  1081. <p>&lsquo;Draw&rsquo; a single line segment in the stroker's current sub-path, from the last position.</p>
  1082. <h4>input</h4>
  1083. <table class="fields">
  1084. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  1085. <p>The target stroker handle.</p>
  1086. </td></tr>
  1087. <tr><td class="val" id="to">to</td><td class="desc">
  1088. <p>A pointer to the destination point.</p>
  1089. </td></tr>
  1090. </table>
  1091. <h4>return</h4>
  1092. <p>FreeType error code. 0&nbsp;means success.</p>
  1093. <h4>note</h4>
  1094. <p>You should call this function between <code><a href="ft2-glyph_stroker.html#ft_stroker_beginsubpath">FT_Stroker_BeginSubPath</a></code> and <code><a href="ft2-glyph_stroker.html#ft_stroker_endsubpath">FT_Stroker_EndSubPath</a></code>.</p>
  1095. <hr>
  1096. <h2 id="ft_stroker_conicto">FT_Stroker_ConicTo<a class="headerlink" href="#ft_stroker_conicto" title="Permanent link">&para;</a></h2>
  1097. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  1098. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
  1099. <b>FT_Stroker_ConicTo</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker,
  1100. <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>* control,
  1101. <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>* to );
  1102. </code></pre></div>
  1103. <p>&lsquo;Draw&rsquo; a single quadratic Bezier in the stroker's current sub-path, from the last position.</p>
  1104. <h4>input</h4>
  1105. <table class="fields">
  1106. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  1107. <p>The target stroker handle.</p>
  1108. </td></tr>
  1109. <tr><td class="val" id="control">control</td><td class="desc">
  1110. <p>A pointer to a Bezier control point.</p>
  1111. </td></tr>
  1112. <tr><td class="val" id="to">to</td><td class="desc">
  1113. <p>A pointer to the destination point.</p>
  1114. </td></tr>
  1115. </table>
  1116. <h4>return</h4>
  1117. <p>FreeType error code. 0&nbsp;means success.</p>
  1118. <h4>note</h4>
  1119. <p>You should call this function between <code><a href="ft2-glyph_stroker.html#ft_stroker_beginsubpath">FT_Stroker_BeginSubPath</a></code> and <code><a href="ft2-glyph_stroker.html#ft_stroker_endsubpath">FT_Stroker_EndSubPath</a></code>.</p>
  1120. <hr>
  1121. <h2 id="ft_stroker_cubicto">FT_Stroker_CubicTo<a class="headerlink" href="#ft_stroker_cubicto" title="Permanent link">&para;</a></h2>
  1122. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  1123. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
  1124. <b>FT_Stroker_CubicTo</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker,
  1125. <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>* control1,
  1126. <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>* control2,
  1127. <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>* to );
  1128. </code></pre></div>
  1129. <p>&lsquo;Draw&rsquo; a single cubic Bezier in the stroker's current sub-path, from the last position.</p>
  1130. <h4>input</h4>
  1131. <table class="fields">
  1132. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  1133. <p>The target stroker handle.</p>
  1134. </td></tr>
  1135. <tr><td class="val" id="control1">control1</td><td class="desc">
  1136. <p>A pointer to the first Bezier control point.</p>
  1137. </td></tr>
  1138. <tr><td class="val" id="control2">control2</td><td class="desc">
  1139. <p>A pointer to second Bezier control point.</p>
  1140. </td></tr>
  1141. <tr><td class="val" id="to">to</td><td class="desc">
  1142. <p>A pointer to the destination point.</p>
  1143. </td></tr>
  1144. </table>
  1145. <h4>return</h4>
  1146. <p>FreeType error code. 0&nbsp;means success.</p>
  1147. <h4>note</h4>
  1148. <p>You should call this function between <code><a href="ft2-glyph_stroker.html#ft_stroker_beginsubpath">FT_Stroker_BeginSubPath</a></code> and <code><a href="ft2-glyph_stroker.html#ft_stroker_endsubpath">FT_Stroker_EndSubPath</a></code>.</p>
  1149. <hr>
  1150. <h2 id="ft_stroker_getbordercounts">FT_Stroker_GetBorderCounts<a class="headerlink" href="#ft_stroker_getbordercounts" title="Permanent link">&para;</a></h2>
  1151. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  1152. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
  1153. <b>FT_Stroker_GetBorderCounts</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker,
  1154. <a href="ft2-glyph_stroker.html#ft_strokerborder">FT_StrokerBorder</a> border,
  1155. <a href="ft2-basic_types.html#ft_uint">FT_UInt</a> *anum_points,
  1156. <a href="ft2-basic_types.html#ft_uint">FT_UInt</a> *anum_contours );
  1157. </code></pre></div>
  1158. <p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export one of the &lsquo;border&rsquo; or &lsquo;stroke&rsquo; outlines generated by the stroker.</p>
  1159. <h4>input</h4>
  1160. <table class="fields">
  1161. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  1162. <p>The target stroker handle.</p>
  1163. </td></tr>
  1164. <tr><td class="val" id="border">border</td><td class="desc">
  1165. <p>The border index.</p>
  1166. </td></tr>
  1167. </table>
  1168. <h4>output</h4>
  1169. <table class="fields">
  1170. <tr><td class="val" id="anum_points">anum_points</td><td class="desc">
  1171. <p>The number of points.</p>
  1172. </td></tr>
  1173. <tr><td class="val" id="anum_contours">anum_contours</td><td class="desc">
  1174. <p>The number of contours.</p>
  1175. </td></tr>
  1176. </table>
  1177. <h4>return</h4>
  1178. <p>FreeType error code. 0&nbsp;means success.</p>
  1179. <h4>note</h4>
  1180. <p>When an outline, or a sub-path, is &lsquo;closed&rsquo;, the stroker generates two independent &lsquo;border&rsquo; outlines, named &lsquo;left&rsquo; and &lsquo;right&rsquo;.</p>
  1181. <p>When the outline, or a sub-path, is &lsquo;opened&rsquo;, the stroker merges the &lsquo;border&rsquo; outlines with caps. The &lsquo;left&rsquo; border receives all points, while the &lsquo;right&rsquo; border becomes empty.</p>
  1182. <p>Use the function <code><a href="ft2-glyph_stroker.html#ft_stroker_getcounts">FT_Stroker_GetCounts</a></code> instead if you want to retrieve the counts associated to both borders.</p>
  1183. <hr>
  1184. <h2 id="ft_stroker_exportborder">FT_Stroker_ExportBorder<a class="headerlink" href="#ft_stroker_exportborder" title="Permanent link">&para;</a></h2>
  1185. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  1186. <div class = "codehilite"><pre><code> FT_EXPORT( <span class="keyword">void</span> )
  1187. <b>FT_Stroker_ExportBorder</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker,
  1188. <a href="ft2-glyph_stroker.html#ft_strokerborder">FT_StrokerBorder</a> border,
  1189. <a href="ft2-outline_processing.html#ft_outline">FT_Outline</a>* outline );
  1190. </code></pre></div>
  1191. <p>Call this function after <code><a href="ft2-glyph_stroker.html#ft_stroker_getbordercounts">FT_Stroker_GetBorderCounts</a></code> to export the corresponding border to your own <code><a href="ft2-outline_processing.html#ft_outline">FT_Outline</a></code> structure.</p>
  1192. <p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</p>
  1193. <h4>input</h4>
  1194. <table class="fields">
  1195. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  1196. <p>The target stroker handle.</p>
  1197. </td></tr>
  1198. <tr><td class="val" id="border">border</td><td class="desc">
  1199. <p>The border index.</p>
  1200. </td></tr>
  1201. <tr><td class="val" id="outline">outline</td><td class="desc">
  1202. <p>The target outline handle.</p>
  1203. </td></tr>
  1204. </table>
  1205. <h4>note</h4>
  1206. <p>Always call this function after <code><a href="ft2-glyph_stroker.html#ft_stroker_getbordercounts">FT_Stroker_GetBorderCounts</a></code> to get sure that there is enough room in your <code><a href="ft2-outline_processing.html#ft_outline">FT_Outline</a></code> object to receive all new data.</p>
  1207. <p>When an outline, or a sub-path, is &lsquo;closed&rsquo;, the stroker generates two independent &lsquo;border&rsquo; outlines, named &lsquo;left&rsquo; and &lsquo;right&rsquo;.</p>
  1208. <p>When the outline, or a sub-path, is &lsquo;opened&rsquo;, the stroker merges the &lsquo;border&rsquo; outlines with caps. The &lsquo;left&rsquo; border receives all points, while the &lsquo;right&rsquo; border becomes empty.</p>
  1209. <p>Use the function <code><a href="ft2-glyph_stroker.html#ft_stroker_export">FT_Stroker_Export</a></code> instead if you want to retrieve all borders at once.</p>
  1210. <hr>
  1211. <h2 id="ft_stroker_getcounts">FT_Stroker_GetCounts<a class="headerlink" href="#ft_stroker_getcounts" title="Permanent link">&para;</a></h2>
  1212. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  1213. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
  1214. <b>FT_Stroker_GetCounts</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker,
  1215. <a href="ft2-basic_types.html#ft_uint">FT_UInt</a> *anum_points,
  1216. <a href="ft2-basic_types.html#ft_uint">FT_UInt</a> *anum_contours );
  1217. </code></pre></div>
  1218. <p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export all points/borders from the stroked outline/path.</p>
  1219. <h4>input</h4>
  1220. <table class="fields">
  1221. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  1222. <p>The target stroker handle.</p>
  1223. </td></tr>
  1224. </table>
  1225. <h4>output</h4>
  1226. <table class="fields">
  1227. <tr><td class="val" id="anum_points">anum_points</td><td class="desc">
  1228. <p>The number of points.</p>
  1229. </td></tr>
  1230. <tr><td class="val" id="anum_contours">anum_contours</td><td class="desc">
  1231. <p>The number of contours.</p>
  1232. </td></tr>
  1233. </table>
  1234. <h4>return</h4>
  1235. <p>FreeType error code. 0&nbsp;means success.</p>
  1236. <hr>
  1237. <h2 id="ft_stroker_export">FT_Stroker_Export<a class="headerlink" href="#ft_stroker_export" title="Permanent link">&para;</a></h2>
  1238. <p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
  1239. <div class = "codehilite"><pre><code> FT_EXPORT( <span class="keyword">void</span> )
  1240. <b>FT_Stroker_Export</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a> stroker,
  1241. <a href="ft2-outline_processing.html#ft_outline">FT_Outline</a>* outline );
  1242. </code></pre></div>
  1243. <p>Call this function after <code><a href="ft2-glyph_stroker.html#ft_stroker_getbordercounts">FT_Stroker_GetBorderCounts</a></code> to export all borders to your own <code><a href="ft2-outline_processing.html#ft_outline">FT_Outline</a></code> structure.</p>
  1244. <p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</p>
  1245. <h4>input</h4>
  1246. <table class="fields">
  1247. <tr><td class="val" id="stroker">stroker</td><td class="desc">
  1248. <p>The target stroker handle.</p>
  1249. </td></tr>
  1250. <tr><td class="val" id="outline">outline</td><td class="desc">
  1251. <p>The target outline handle.</p>
  1252. </td></tr>
  1253. </table>
  1254. <hr>
  1255. </article>
  1256. </div>
  1257. </div>
  1258. </main>
  1259. <footer class="md-footer">
  1260. <nav class="md-footer__inner md-grid" aria-label="Footer">
  1261. <a href="ft2-raster.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Scanline Converter" rel="prev">
  1262. <div class="md-footer__button md-icon">
  1263. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
  1264. </div>
  1265. <div class="md-footer__title">
  1266. <div class="md-ellipsis">
  1267. <span class="md-footer__direction">
  1268. Previous
  1269. </span>
  1270. Scanline Converter
  1271. </div>
  1272. </div>
  1273. </a>
  1274. <a href="ft2-system_interface.html" class="md-footer__link md-footer__link--next" aria-label="Next: System Interface" rel="next">
  1275. <div class="md-footer__title">
  1276. <div class="md-ellipsis">
  1277. <span class="md-footer__direction">
  1278. Next
  1279. </span>
  1280. System Interface
  1281. </div>
  1282. </div>
  1283. <div class="md-footer__button md-icon">
  1284. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
  1285. </div>
  1286. </a>
  1287. </nav>
  1288. <div class="md-footer-meta md-typeset">
  1289. <div class="md-footer-meta__inner md-grid">
  1290. <div class="md-footer-copyright">
  1291. <div class="md-footer-copyright__highlight">
  1292. Copyright 2021 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
  1293. </div>
  1294. Made with
  1295. <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
  1296. Material for MkDocs
  1297. </a>
  1298. </div>
  1299. </div>
  1300. </div>
  1301. </footer>
  1302. </div>
  1303. <div class="md-dialog" data-md-component="dialog">
  1304. <div class="md-dialog__inner md-typeset"></div>
  1305. </div>
  1306. <script id="__config" type="application/json">{"base": ".", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "assets/javascripts/workers/search.477d984a.min.js", "version": null}</script>
  1307. <script src="assets/javascripts/bundle.82b56eb2.min.js"></script>
  1308. <script src="javascripts/extra.js"></script>
  1309. </body>
  1310. </html>