🛠️🐜 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.

1456 lines
36 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>Unicode Variation Sequences - 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="#unicode-variation-sequences" 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. Unicode Variation Sequences
  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--active md-nav__item--nested">
  138. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" checked>
  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 md-nav__item--active">
  165. <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
  166. <label class="md-nav__link md-nav__link--active" for="__toc">
  167. Unicode Variation Sequences
  168. <span class="md-nav__icon md-icon"></span>
  169. </label>
  170. <a href="ft2-glyph_variants.html" class="md-nav__link md-nav__link--active">
  171. Unicode Variation Sequences
  172. </a>
  173. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  174. <label class="md-nav__title" for="__toc">
  175. <span class="md-nav__icon md-icon"></span>
  176. Table of contents
  177. </label>
  178. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  179. <li class="md-nav__item">
  180. <a href="#synopsis" class="md-nav__link">
  181. Synopsis
  182. </a>
  183. </li>
  184. <li class="md-nav__item">
  185. <a href="#ft_face_getcharvariantindex" class="md-nav__link">
  186. FT_Face_GetCharVariantIndex
  187. </a>
  188. </li>
  189. <li class="md-nav__item">
  190. <a href="#ft_face_getcharvariantisdefault" class="md-nav__link">
  191. FT_Face_GetCharVariantIsDefault
  192. </a>
  193. </li>
  194. <li class="md-nav__item">
  195. <a href="#ft_face_getvariantselectors" class="md-nav__link">
  196. FT_Face_GetVariantSelectors
  197. </a>
  198. </li>
  199. <li class="md-nav__item">
  200. <a href="#ft_face_getvariantsofchar" class="md-nav__link">
  201. FT_Face_GetVariantsOfChar
  202. </a>
  203. </li>
  204. <li class="md-nav__item">
  205. <a href="#ft_face_getcharsofvariant" class="md-nav__link">
  206. FT_Face_GetCharsOfVariant
  207. </a>
  208. </li>
  209. </ul>
  210. </nav>
  211. </li>
  212. <li class="md-nav__item">
  213. <a href="ft2-color_management.html" class="md-nav__link">
  214. Glyph Color Management
  215. </a>
  216. </li>
  217. <li class="md-nav__item">
  218. <a href="ft2-layer_management.html" class="md-nav__link">
  219. Glyph Layer Management
  220. </a>
  221. </li>
  222. <li class="md-nav__item">
  223. <a href="ft2-glyph_management.html" class="md-nav__link">
  224. Glyph Management
  225. </a>
  226. </li>
  227. <li class="md-nav__item">
  228. <a href="ft2-mac_specific.html" class="md-nav__link">
  229. Mac Specific Interface
  230. </a>
  231. </li>
  232. <li class="md-nav__item">
  233. <a href="ft2-sizes_management.html" class="md-nav__link">
  234. Size Management
  235. </a>
  236. </li>
  237. <li class="md-nav__item">
  238. <a href="ft2-header_file_macros.html" class="md-nav__link">
  239. Header File Macros
  240. </a>
  241. </li>
  242. </ul>
  243. </nav>
  244. </li>
  245. <li class="md-nav__item md-nav__item--nested">
  246. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
  247. <label class="md-nav__link" for="__nav_5">
  248. Format-Specific API
  249. <span class="md-nav__icon md-icon"></span>
  250. </label>
  251. <nav class="md-nav" aria-label="Format-Specific API" data-md-level="1">
  252. <label class="md-nav__title" for="__nav_5">
  253. <span class="md-nav__icon md-icon"></span>
  254. Format-Specific API
  255. </label>
  256. <ul class="md-nav__list" data-md-scrollfix>
  257. <li class="md-nav__item">
  258. <a href="ft2-multiple_masters.html" class="md-nav__link">
  259. Multiple Masters
  260. </a>
  261. </li>
  262. <li class="md-nav__item">
  263. <a href="ft2-truetype_tables.html" class="md-nav__link">
  264. TrueType Tables
  265. </a>
  266. </li>
  267. <li class="md-nav__item">
  268. <a href="ft2-type1_tables.html" class="md-nav__link">
  269. Type 1 Tables
  270. </a>
  271. </li>
  272. <li class="md-nav__item">
  273. <a href="ft2-sfnt_names.html" class="md-nav__link">
  274. SFNT Names
  275. </a>
  276. </li>
  277. <li class="md-nav__item">
  278. <a href="ft2-bdf_fonts.html" class="md-nav__link">
  279. BDF and PCF Files
  280. </a>
  281. </li>
  282. <li class="md-nav__item">
  283. <a href="ft2-cid_fonts.html" class="md-nav__link">
  284. CID Fonts
  285. </a>
  286. </li>
  287. <li class="md-nav__item">
  288. <a href="ft2-pfr_fonts.html" class="md-nav__link">
  289. PFR Fonts
  290. </a>
  291. </li>
  292. <li class="md-nav__item">
  293. <a href="ft2-winfnt_fonts.html" class="md-nav__link">
  294. Window FNT Files
  295. </a>
  296. </li>
  297. <li class="md-nav__item">
  298. <a href="ft2-font_formats.html" class="md-nav__link">
  299. Font Formats
  300. </a>
  301. </li>
  302. <li class="md-nav__item">
  303. <a href="ft2-gasp_table.html" class="md-nav__link">
  304. Gasp Table
  305. </a>
  306. </li>
  307. </ul>
  308. </nav>
  309. </li>
  310. <li class="md-nav__item md-nav__item--nested">
  311. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
  312. <label class="md-nav__link" for="__nav_6">
  313. Controlling FreeType Modules
  314. <span class="md-nav__icon md-icon"></span>
  315. </label>
  316. <nav class="md-nav" aria-label="Controlling FreeType Modules" data-md-level="1">
  317. <label class="md-nav__title" for="__nav_6">
  318. <span class="md-nav__icon md-icon"></span>
  319. Controlling FreeType Modules
  320. </label>
  321. <ul class="md-nav__list" data-md-scrollfix>
  322. <li class="md-nav__item">
  323. <a href="ft2-auto_hinter.html" class="md-nav__link">
  324. The auto-hinter
  325. </a>
  326. </li>
  327. <li class="md-nav__item">
  328. <a href="ft2-cff_driver.html" class="md-nav__link">
  329. The CFF driver
  330. </a>
  331. </li>
  332. <li class="md-nav__item">
  333. <a href="ft2-t1_cid_driver.html" class="md-nav__link">
  334. The Type 1 and CID drivers
  335. </a>
  336. </li>
  337. <li class="md-nav__item">
  338. <a href="ft2-tt_driver.html" class="md-nav__link">
  339. The TrueType driver
  340. </a>
  341. </li>
  342. <li class="md-nav__item">
  343. <a href="ft2-pcf_driver.html" class="md-nav__link">
  344. The PCF driver
  345. </a>
  346. </li>
  347. <li class="md-nav__item">
  348. <a href="ft2-properties.html" class="md-nav__link">
  349. Driver properties
  350. </a>
  351. </li>
  352. <li class="md-nav__item">
  353. <a href="ft2-parameter_tags.html" class="md-nav__link">
  354. Parameter Tags
  355. </a>
  356. </li>
  357. <li class="md-nav__item">
  358. <a href="ft2-lcd_rendering.html" class="md-nav__link">
  359. Subpixel Rendering
  360. </a>
  361. </li>
  362. </ul>
  363. </nav>
  364. </li>
  365. <li class="md-nav__item md-nav__item--nested">
  366. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
  367. <label class="md-nav__link" for="__nav_7">
  368. Cache Sub-System
  369. <span class="md-nav__icon md-icon"></span>
  370. </label>
  371. <nav class="md-nav" aria-label="Cache Sub-System" data-md-level="1">
  372. <label class="md-nav__title" for="__nav_7">
  373. <span class="md-nav__icon md-icon"></span>
  374. Cache Sub-System
  375. </label>
  376. <ul class="md-nav__list" data-md-scrollfix>
  377. <li class="md-nav__item">
  378. <a href="ft2-cache_subsystem.html" class="md-nav__link">
  379. Cache Sub-System
  380. </a>
  381. </li>
  382. </ul>
  383. </nav>
  384. </li>
  385. <li class="md-nav__item md-nav__item--nested">
  386. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_8" type="checkbox" id="__nav_8" >
  387. <label class="md-nav__link" for="__nav_8">
  388. Support API
  389. <span class="md-nav__icon md-icon"></span>
  390. </label>
  391. <nav class="md-nav" aria-label="Support API" data-md-level="1">
  392. <label class="md-nav__title" for="__nav_8">
  393. <span class="md-nav__icon md-icon"></span>
  394. Support API
  395. </label>
  396. <ul class="md-nav__list" data-md-scrollfix>
  397. <li class="md-nav__item">
  398. <a href="ft2-computations.html" class="md-nav__link">
  399. Computations
  400. </a>
  401. </li>
  402. <li class="md-nav__item">
  403. <a href="ft2-list_processing.html" class="md-nav__link">
  404. List Processing
  405. </a>
  406. </li>
  407. <li class="md-nav__item">
  408. <a href="ft2-outline_processing.html" class="md-nav__link">
  409. Outline Processing
  410. </a>
  411. </li>
  412. <li class="md-nav__item">
  413. <a href="ft2-quick_advance.html" class="md-nav__link">
  414. Quick retrieval of advance values
  415. </a>
  416. </li>
  417. <li class="md-nav__item">
  418. <a href="ft2-bitmap_handling.html" class="md-nav__link">
  419. Bitmap Handling
  420. </a>
  421. </li>
  422. <li class="md-nav__item">
  423. <a href="ft2-raster.html" class="md-nav__link">
  424. Scanline Converter
  425. </a>
  426. </li>
  427. <li class="md-nav__item">
  428. <a href="ft2-glyph_stroker.html" class="md-nav__link">
  429. Glyph Stroker
  430. </a>
  431. </li>
  432. <li class="md-nav__item">
  433. <a href="ft2-system_interface.html" class="md-nav__link">
  434. System Interface
  435. </a>
  436. </li>
  437. <li class="md-nav__item">
  438. <a href="ft2-module_management.html" class="md-nav__link">
  439. Module Management
  440. </a>
  441. </li>
  442. <li class="md-nav__item">
  443. <a href="ft2-gzip.html" class="md-nav__link">
  444. GZIP Streams
  445. </a>
  446. </li>
  447. <li class="md-nav__item">
  448. <a href="ft2-lzw.html" class="md-nav__link">
  449. LZW Streams
  450. </a>
  451. </li>
  452. <li class="md-nav__item">
  453. <a href="ft2-bzip2.html" class="md-nav__link">
  454. BZIP2 Streams
  455. </a>
  456. </li>
  457. <li class="md-nav__item">
  458. <a href="ft2-debugging_apis.html" class="md-nav__link">
  459. External Debugging APIs
  460. </a>
  461. </li>
  462. </ul>
  463. </nav>
  464. </li>
  465. <li class="md-nav__item md-nav__item--nested">
  466. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_9" type="checkbox" id="__nav_9" >
  467. <label class="md-nav__link" for="__nav_9">
  468. Error Codes
  469. <span class="md-nav__icon md-icon"></span>
  470. </label>
  471. <nav class="md-nav" aria-label="Error Codes" data-md-level="1">
  472. <label class="md-nav__title" for="__nav_9">
  473. <span class="md-nav__icon md-icon"></span>
  474. Error Codes
  475. </label>
  476. <ul class="md-nav__list" data-md-scrollfix>
  477. <li class="md-nav__item">
  478. <a href="ft2-error_enumerations.html" class="md-nav__link">
  479. Error Enumerations
  480. </a>
  481. </li>
  482. <li class="md-nav__item">
  483. <a href="ft2-error_code_values.html" class="md-nav__link">
  484. Error Code Values
  485. </a>
  486. </li>
  487. </ul>
  488. </nav>
  489. </li>
  490. <li class="md-nav__item md-nav__item--nested">
  491. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_10" type="checkbox" id="__nav_10" >
  492. <label class="md-nav__link" for="__nav_10">
  493. Miscellaneous
  494. <span class="md-nav__icon md-icon"></span>
  495. </label>
  496. <nav class="md-nav" aria-label="Miscellaneous" data-md-level="1">
  497. <label class="md-nav__title" for="__nav_10">
  498. <span class="md-nav__icon md-icon"></span>
  499. Miscellaneous
  500. </label>
  501. <ul class="md-nav__list" data-md-scrollfix>
  502. <li class="md-nav__item">
  503. <a href="ft2-gx_validation.html" class="md-nav__link">
  504. TrueTypeGX/AAT Validation
  505. </a>
  506. </li>
  507. <li class="md-nav__item">
  508. <a href="ft2-incremental.html" class="md-nav__link">
  509. Incremental Loading
  510. </a>
  511. </li>
  512. <li class="md-nav__item">
  513. <a href="ft2-truetype_engine.html" class="md-nav__link">
  514. The TrueType Engine
  515. </a>
  516. </li>
  517. <li class="md-nav__item">
  518. <a href="ft2-ot_validation.html" class="md-nav__link">
  519. OpenType Validation
  520. </a>
  521. </li>
  522. </ul>
  523. </nav>
  524. </li>
  525. </ul>
  526. </nav>
  527. </div>
  528. </div>
  529. </div>
  530. <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
  531. <div class="md-sidebar__scrollwrap">
  532. <div class="md-sidebar__inner">
  533. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  534. <label class="md-nav__title" for="__toc">
  535. <span class="md-nav__icon md-icon"></span>
  536. Table of contents
  537. </label>
  538. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  539. <li class="md-nav__item">
  540. <a href="#synopsis" class="md-nav__link">
  541. Synopsis
  542. </a>
  543. </li>
  544. <li class="md-nav__item">
  545. <a href="#ft_face_getcharvariantindex" class="md-nav__link">
  546. FT_Face_GetCharVariantIndex
  547. </a>
  548. </li>
  549. <li class="md-nav__item">
  550. <a href="#ft_face_getcharvariantisdefault" class="md-nav__link">
  551. FT_Face_GetCharVariantIsDefault
  552. </a>
  553. </li>
  554. <li class="md-nav__item">
  555. <a href="#ft_face_getvariantselectors" class="md-nav__link">
  556. FT_Face_GetVariantSelectors
  557. </a>
  558. </li>
  559. <li class="md-nav__item">
  560. <a href="#ft_face_getvariantsofchar" class="md-nav__link">
  561. FT_Face_GetVariantsOfChar
  562. </a>
  563. </li>
  564. <li class="md-nav__item">
  565. <a href="#ft_face_getcharsofvariant" class="md-nav__link">
  566. FT_Face_GetCharsOfVariant
  567. </a>
  568. </li>
  569. </ul>
  570. </nav>
  571. </div>
  572. </div>
  573. </div>
  574. <div class="md-content" data-md-component="content">
  575. <article class="md-content__inner md-typeset">
  576. <p><a href="https://www.freetype.org">FreeType</a> &raquo; <a href="../">Docs</a> &raquo; <a href="index.html#core-api">Core API</a> &raquo; Unicode Variation Sequences</p>
  577. <hr />
  578. <h1 id="unicode-variation-sequences">Unicode Variation Sequences<a class="headerlink" href="#unicode-variation-sequences" title="Permanent link">&para;</a></h1>
  579. <h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
  580. <p>Many characters, especially for CJK scripts, have variant forms. They are a sort of grey area somewhere between being totally irrelevant and semantically distinct; for this reason, the Unicode consortium decided to introduce Variation Sequences (VS), consisting of a Unicode base character and a variation selector instead of further extending the already huge number of characters.</p>
  581. <p>Unicode maintains two different sets, namely &lsquo;Standardized Variation Sequences&rsquo; and registered &lsquo;Ideographic Variation Sequences&rsquo; (IVS), collected in the &lsquo;Ideographic Variation Database&rsquo; (IVD).</p>
  582. <p><a href="https://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt">https://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt</a> <a href="https://unicode.org/reports/tr37/">https://unicode.org/reports/tr37/</a> <a href="https://unicode.org/ivd/">https://unicode.org/ivd/</a></p>
  583. <p>To date (January 2017), the character with the most ideographic variations is U+9089, having 32 such IVS.</p>
  584. <p>Three Mongolian Variation Selectors have the values U+180B-U+180D; 256 generic Variation Selectors are encoded in the ranges U+FE00-U+FE0F and U+E0100-U+E01EF. IVS currently use Variation Selectors from the range U+E0100-U+E01EF only.</p>
  585. <p>A VS consists of the base character value followed by a single Variation Selector. For example, to get the first variation of U+9089, you have to write the character sequence <code>U+9089 U+E0100</code>.</p>
  586. <p>Adobe and MS decided to support both standardized and ideographic VS with a new cmap subtable (format&nbsp;14). It is an odd subtable because it is not a mapping of input code points to glyphs, but contains lists of all variations supported by the font.</p>
  587. <p>A variation may be either &lsquo;default&rsquo; or &lsquo;non-default&rsquo; for a given font. A default variation is the one you will get for that code point if you look it up in the standard Unicode cmap. A non-default variation is a different glyph.</p>
  588. <h2 id="ft_face_getcharvariantindex">FT_Face_GetCharVariantIndex<a class="headerlink" href="#ft_face_getcharvariantindex" title="Permanent link">&para;</a></h2>
  589. <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
  590. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_uint">FT_UInt</a> )
  591. <b>FT_Face_GetCharVariantIndex</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a> face,
  592. <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a> charcode,
  593. <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a> variantSelector );
  594. </code></pre></div>
  595. <p>Return the glyph index of a given character code as modified by the variation selector.</p>
  596. <h4>input</h4>
  597. <table class="fields">
  598. <tr><td class="val" id="face">face</td><td class="desc">
  599. <p>A handle to the source face object.</p>
  600. </td></tr>
  601. <tr><td class="val" id="charcode">charcode</td><td class="desc">
  602. <p>The character code point in Unicode.</p>
  603. </td></tr>
  604. <tr><td class="val" id="variantselector">variantSelector</td><td class="desc">
  605. <p>The Unicode code point of the variation selector.</p>
  606. </td></tr>
  607. </table>
  608. <h4>return</h4>
  609. <p>The glyph index. 0&nbsp;means either &lsquo;undefined character code&rsquo;, or &lsquo;undefined selector code&rsquo;, or &lsquo;no variation selector cmap subtable&rsquo;, or &lsquo;current CharMap is not Unicode&rsquo;.</p>
  610. <h4>note</h4>
  611. <p>If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value&nbsp;0 always corresponds to the &lsquo;missing glyph&rsquo;.</p>
  612. <p>This function is only meaningful if a) the font has a variation selector cmap sub table, and b) the current charmap has a Unicode encoding.</p>
  613. <h4>since</h4>
  614. <p>2.3.6</p>
  615. <hr>
  616. <h2 id="ft_face_getcharvariantisdefault">FT_Face_GetCharVariantIsDefault<a class="headerlink" href="#ft_face_getcharvariantisdefault" title="Permanent link">&para;</a></h2>
  617. <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
  618. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_int">FT_Int</a> )
  619. <b>FT_Face_GetCharVariantIsDefault</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a> face,
  620. <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a> charcode,
  621. <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a> variantSelector );
  622. </code></pre></div>
  623. <p>Check whether this variation of this Unicode character is the one to be found in the charmap.</p>
  624. <h4>input</h4>
  625. <table class="fields">
  626. <tr><td class="val" id="face">face</td><td class="desc">
  627. <p>A handle to the source face object.</p>
  628. </td></tr>
  629. <tr><td class="val" id="charcode">charcode</td><td class="desc">
  630. <p>The character codepoint in Unicode.</p>
  631. </td></tr>
  632. <tr><td class="val" id="variantselector">variantSelector</td><td class="desc">
  633. <p>The Unicode codepoint of the variation selector.</p>
  634. </td></tr>
  635. </table>
  636. <h4>return</h4>
  637. <p>1&nbsp;if found in the standard (Unicode) cmap, 0&nbsp;if found in the variation selector cmap, or -1 if it is not a variation.</p>
  638. <h4>note</h4>
  639. <p>This function is only meaningful if the font has a variation selector cmap subtable.</p>
  640. <h4>since</h4>
  641. <p>2.3.6</p>
  642. <hr>
  643. <h2 id="ft_face_getvariantselectors">FT_Face_GetVariantSelectors<a class="headerlink" href="#ft_face_getvariantselectors" title="Permanent link">&para;</a></h2>
  644. <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
  645. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_uint32">FT_UInt32</a>* )
  646. <b>FT_Face_GetVariantSelectors</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a> face );
  647. </code></pre></div>
  648. <p>Return a zero-terminated list of Unicode variation selectors found in the font.</p>
  649. <h4>input</h4>
  650. <table class="fields">
  651. <tr><td class="val" id="face">face</td><td class="desc">
  652. <p>A handle to the source face object.</p>
  653. </td></tr>
  654. </table>
  655. <h4>return</h4>
  656. <p>A pointer to an array of selector code points, or <code>NULL</code> if there is no valid variation selector cmap subtable.</p>
  657. <h4>note</h4>
  658. <p>The last item in the array is&nbsp;0; the array is owned by the <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> object but can be overwritten or released on the next call to a FreeType function.</p>
  659. <h4>since</h4>
  660. <p>2.3.6</p>
  661. <hr>
  662. <h2 id="ft_face_getvariantsofchar">FT_Face_GetVariantsOfChar<a class="headerlink" href="#ft_face_getvariantsofchar" title="Permanent link">&para;</a></h2>
  663. <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
  664. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_uint32">FT_UInt32</a>* )
  665. <b>FT_Face_GetVariantsOfChar</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a> face,
  666. <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a> charcode );
  667. </code></pre></div>
  668. <p>Return a zero-terminated list of Unicode variation selectors found for the specified character code.</p>
  669. <h4>input</h4>
  670. <table class="fields">
  671. <tr><td class="val" id="face">face</td><td class="desc">
  672. <p>A handle to the source face object.</p>
  673. </td></tr>
  674. <tr><td class="val" id="charcode">charcode</td><td class="desc">
  675. <p>The character codepoint in Unicode.</p>
  676. </td></tr>
  677. </table>
  678. <h4>return</h4>
  679. <p>A pointer to an array of variation selector code points that are active for the given character, or <code>NULL</code> if the corresponding list is empty.</p>
  680. <h4>note</h4>
  681. <p>The last item in the array is&nbsp;0; the array is owned by the <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> object but can be overwritten or released on the next call to a FreeType function.</p>
  682. <h4>since</h4>
  683. <p>2.3.6</p>
  684. <hr>
  685. <h2 id="ft_face_getcharsofvariant">FT_Face_GetCharsOfVariant<a class="headerlink" href="#ft_face_getcharsofvariant" title="Permanent link">&para;</a></h2>
  686. <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
  687. <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_uint32">FT_UInt32</a>* )
  688. <b>FT_Face_GetCharsOfVariant</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a> face,
  689. <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a> variantSelector );
  690. </code></pre></div>
  691. <p>Return a zero-terminated list of Unicode character codes found for the specified variation selector.</p>
  692. <h4>input</h4>
  693. <table class="fields">
  694. <tr><td class="val" id="face">face</td><td class="desc">
  695. <p>A handle to the source face object.</p>
  696. </td></tr>
  697. <tr><td class="val" id="variantselector">variantSelector</td><td class="desc">
  698. <p>The variation selector code point in Unicode.</p>
  699. </td></tr>
  700. </table>
  701. <h4>return</h4>
  702. <p>A list of all the code points that are specified by this selector (both default and non-default codes are returned) or <code>NULL</code> if there is no valid cmap or the variation selector is invalid.</p>
  703. <h4>note</h4>
  704. <p>The last item in the array is&nbsp;0; the array is owned by the <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> object but can be overwritten or released on the next call to a FreeType function.</p>
  705. <h4>since</h4>
  706. <p>2.3.6</p>
  707. <hr>
  708. </article>
  709. </div>
  710. </div>
  711. </main>
  712. <footer class="md-footer">
  713. <nav class="md-footer__inner md-grid" aria-label="Footer">
  714. <a href="ft2-base_interface.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Base Interface" rel="prev">
  715. <div class="md-footer__button md-icon">
  716. <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>
  717. </div>
  718. <div class="md-footer__title">
  719. <div class="md-ellipsis">
  720. <span class="md-footer__direction">
  721. Previous
  722. </span>
  723. Base Interface
  724. </div>
  725. </div>
  726. </a>
  727. <a href="ft2-color_management.html" class="md-footer__link md-footer__link--next" aria-label="Next: Glyph Color Management" rel="next">
  728. <div class="md-footer__title">
  729. <div class="md-ellipsis">
  730. <span class="md-footer__direction">
  731. Next
  732. </span>
  733. Glyph Color Management
  734. </div>
  735. </div>
  736. <div class="md-footer__button md-icon">
  737. <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>
  738. </div>
  739. </a>
  740. </nav>
  741. <div class="md-footer-meta md-typeset">
  742. <div class="md-footer-meta__inner md-grid">
  743. <div class="md-footer-copyright">
  744. <div class="md-footer-copyright__highlight">
  745. Copyright 2021 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
  746. </div>
  747. Made with
  748. <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
  749. Material for MkDocs
  750. </a>
  751. </div>
  752. </div>
  753. </div>
  754. </footer>
  755. </div>
  756. <div class="md-dialog" data-md-component="dialog">
  757. <div class="md-dialog__inner md-typeset"></div>
  758. </div>
  759. <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>
  760. <script src="assets/javascripts/bundle.82b56eb2.min.js"></script>
  761. <script src="javascripts/extra.js"></script>
  762. </body>
  763. </html>