| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>What does HarfBuzz do?: HarfBuzz Manual</title> |
| <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> |
| <link rel="home" href="index.html" title="HarfBuzz Manual"> |
| <link rel="up" href="what-is-harfbuzz.html" title="What is HarfBuzz?"> |
| <link rel="prev" href="why-do-i-need-a-shaping-engine.html" title="Why do I need a shaping engine?"> |
| <link rel="next" href="what-harfbuzz-doesnt-do.html" title="What HarfBuzz doesn't do"> |
| <meta name="generator" content="GTK-Doc V1.25 (XML mode)"> |
| <link rel="stylesheet" href="style.css" type="text/css"> |
| </head> |
| <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> |
| <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> |
| <td width="100%" align="left" class="shortcuts"></td> |
| <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> |
| <td><a accesskey="u" href="what-is-harfbuzz.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> |
| <td><a accesskey="p" href="why-do-i-need-a-shaping-engine.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> |
| <td><a accesskey="n" href="what-harfbuzz-doesnt-do.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> |
| </tr></table> |
| <div class="section"> |
| <div class="titlepage"><div><div><h2 class="title" style="clear: both"> |
| <a name="id-1.2.2.6"></a>What does HarfBuzz do?</h2></div></div></div> |
| <p> |
| HarfBuzz provides text shaping through a cross-platform |
| C API that accepts sequences of Unicode codepoints as input. Currently, |
| the following OpenType shaping models are supported: |
| </p> |
| <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> |
| <li class="listitem"><p> |
| Indic (covering Devanagari, Bengali, Gujarati, |
| Gurmukhi, Kannada, Malayalam, Oriya, Tamil, Telugu, and |
| Sinhala) |
| </p></li> |
| <li class="listitem"><p> |
| Arabic (covering Arabic, N'Ko, Syriac, and Mongolian) |
| </p></li> |
| <li class="listitem"><p> |
| Thai and Lao |
| </p></li> |
| <li class="listitem"><p> |
| Khmer |
| </p></li> |
| <li class="listitem"><p> |
| Myanmar |
| </p></li> |
| <li class="listitem"><p> |
| Tibetan |
| </p></li> |
| <li class="listitem"><p> |
| Hangul |
| </p></li> |
| <li class="listitem"><p> |
| Hebrew |
| </p></li> |
| <li class="listitem"><p> |
| The Universal Shaping Engine or <span class="emphasis"><em>USE</em></span> |
| (covering complex scripts not covered by the above shaping |
| models) |
| </p></li> |
| <li class="listitem"><p> |
| A default shaping model for non-complex scripts |
| (covering Latin, Cyrillic, Greek, Armenian, Georgian, Tifinagh, |
| and many others) |
| </p></li> |
| <li class="listitem"><p> |
| Emoji (including emoji modifier sequences, flag sequences, |
| and ZWJ sequences) |
| </p></li> |
| </ul></div> |
| <p> |
| In addition to OpenType shaping, HarfBuzz supports the latest |
| version of Graphite shaping (the "Graphite 2" model) and AAT |
| shaping. |
| </p> |
| <p> |
| HarfBuzz can read and understand TrueType fonts (.ttf), TrueType |
| collections (.ttc), and OpenType fonts (.otf, including those |
| fonts that contain TrueType-style outlines and those that |
| contain PostScript CFF or CFF2 outlines). |
| </p> |
| <p> |
| HarfBuzz is designed and tested to run on top of the FreeType |
| font renderer. It can run on Linux, Android, Windows, macOS, and |
| iOS systems. |
| </p> |
| <p> |
| In addition to its core shaping functionality, HarfBuzz provides |
| functions for accessing other font features, including optional |
| GSUB and GPOS OpenType features, as well as |
| all color-font formats (<code class="literal">CBDT</code>, |
| <code class="literal">sbix</code>, <code class="literal">COLR/CPAL</code>, and |
| <code class="literal">SVG-OT</code>) and OpenType variable fonts. HarfBuzz |
| also includes a font-subsetting feature. HarfBuzz can perform |
| some low-level math-shaping operations, although it does not |
| currently perform full shaping for mathematical typesetting. |
| </p> |
| <p> |
| A suite of command-line utilities is also provided in the |
| source-code tree, designed to help users test and debug |
| HarfBuzz's features on real-world fonts and input. |
| </p> |
| </div> |
| <div class="footer"> |
| <hr>Generated by GTK-Doc V1.25</div> |
| </body> |
| </html> |