Lesson plan

HarfBuzz

HarfBuzz (loose transliteration of Persian calque harf-bāz, literally "open type") is an open-source text shaping engine written in C++. Text shaping is the process of converting a sequence of Unicode code points into the correct glyph identifiers and precise positions needed to render text on screen or in print. For scripts where characters change shape depending on their neighbours (such as Arabic, Devanagari, or Tamil), text shaping ensures that the right glyph forms are selected and joined correctly. Without it, text renderers would display raw disconnected code points rather than readable words. HarfBuzz takes a string of Unicode text, a font file, and information about the writing script and language as input. It returns a list of glyph IDs and their x/y positions, which a rendering engine such as Cairo or Skia then uses to draw the text. The library supports multiple font technologies, including OpenType, Apple Advanced Typography (AAT), and SIL Graphite. The project originated in the FreeType codebase and went through several development phases before Behdad Esfahbod rewrote it from scratch around 2012. It is now used by major operating systems, browsers, and desktop toolkits worldwide.

Back to article

Article summary

HarfBuzz (loose transliteration of Persian calque harf-bāz, literally "open type") is an open-source text shaping engine written in C++. Text shaping is the process of converting a sequence of Unicode code points into the correct glyph identifiers and precise positions needed to render text on screen or in print. For scripts where characters change shape depending on their neighbours (such as Arabic, Devanagari, or Tamil), text shaping ensures that the right glyph forms are selected and joined correctly. Without it, text renderers would display raw disconnected code points rather than readable words. HarfBuzz takes a string of Unicode text, a font file, and information about the writing script and language as input. It returns a list of glyph IDs and their x/y positions, which a rendering engine such as Cairo or Skia then uses to draw the text. The library supports multiple font technologies, including OpenType, Apple Advanced Typography (AAT), and SIL Graphite. The project originated in the FreeType codebase and went through several development phases before Behdad Esfahbod rewrote it from scratch around 2012. It is now used by major operating systems, browsers, and desktop toolkits worldwide.

Key claims

No claims recorded.

Discussion questions

  1. Summarise the article in your own words. Which single claim would you verify first, and why?
  2. Which claim in this article is most likely to be revised as the sources update? How would you check its current status?
  3. If two sources disagreed about one of these facts, what would you need in order to trust one over the other?

Bibliography

No sources recorded.

Key claims and bibliography are generated from the same tracked claims and sources as the article page.