HarfBuzz (loose transliteration of Persian calque حرف‌باز harf-bāz, literally "open type")[2][3] is a software library for supporting text shaping, which is the process of converting Unicode text to glyph indices and positions. The newer version, New HarfBuzz (2012–), targets various font technologies while the first version, Old HarfBuzz (2006–2012), targeted only OpenType fonts.[2][4]

HarfBuzz
Original author(s)The FreeType Project
Developer(s)Behdad Esfahbod
Stable release10.1.0[1] Edit this on Wikidata (5 November 2024; 20 days ago (5 November 2024)) [±]
Repository
Written inC++
Operating systemUnix-like, Windows
TypeSoftware development library
LicenseMIT
Websiteharfbuzz.github.io Edit this on Wikidata

History

edit
 
Behdad Esfahbod, developer of HarfBuzz

HarfBuzz evolved from code that was originally part of the FreeType project. It was then developed separately in Qt and Pango. Then it was merged back into a common repository with an MIT license. This was Old HarfBuzz, which is no longer being developed, as the path going forward is New HarfBuzz.[2] In 2013, Behdad Esfahbod won the O’Reilly Open Source Award for his work on HarfBuzz.[5]

Important milestones for New HarfBuzz include:

  • 0.9.2, SIL Graphite support
  • 1.0 includes Universal Shaping Engine concepts from Microsoft
  • 1.4 with OpenType font variation support
  • 1.6 with Unicode 10 support
  • 1.8 with Unicode 11 support
  • 2.0 with Apple Advanced Typography (AAT) shaping support.[6][7][8][9][10]
  • 2.1 with color fonts support and improved major AAT Shaping features.
  • 2.4 Unicode 12 support
  • 2.6.7 Unicode 13 support
  • 3.0 stable font subsetter API, Unicode 14 support[11]
  • 4.0 more than 65536 Glyphs and metrics supported[12]
  • 4.3 major speed up[13]
  • 5.0 BE Fonts support[14]
  • 5.2 Unicode 15 support[15]
  • 7.0 introduced new APIs, new command-line utility, font emboldening support and reduced memory usage[16]
  • 8.0 introduced support for using WebAssembly-based shaper embedded in fonts[17]

Users

edit

Most applications don't use HarfBuzz directly, but use a UI toolkit library that integrates with it.

HarfBuzz is used by the UI libraries of:

HarfBuzz is used directly by the applications:

See also

edit

References

edit
  1. ^ "Release 10.1.0 · harfbuzz/harfbuzz". Retrieved 5 November 2024.
  2. ^ a b c d Byfield, Bruce (19 December 2017). "HarfBuzz brings professional typography to the desktop". LWN.net.
  3. ^ "HarfBuzz". freedesktop.org.
  4. ^ "HarfBuzz Official website". Retrieved 10 November 2012.
  5. ^ "O'Reilly Open Source Awards: OSCON 2013". 26 July 2013. Archived from the original on 18 June 2015. Retrieved 25 September 2014.
  6. ^ HarfBuzz 1.0 Implements Microsoft's Universal Shaping Engine Released
  7. ^ HarfBuzz 1.4 Brings OpenType GX / Font Variations
  8. ^ HarfBuzz 1.8 Released With Unicode 11 Support
  9. ^ HarfBuzz 2.0 Released For Advancing Open-Source Text Shaping
  10. ^ HarfBuz articles on Phoronix
  11. ^ "Release 3.0.0 · harfbuzz/harfbuzz". GitHub. Retrieved 26 May 2023.
  12. ^ "HarfBuzz 4.0 Released for This Open-Source Text Shaping Library".
  13. ^ "HarfBuzz 4.3 Released with Big Performance Improvements".
  14. ^ "HarfBuzz 5.0 Released with Progress on Supporting the "Boring Expansion" Font Spec".
  15. ^ "HarfBuzz 5.2 Released with Unicode 15 Support".
  16. ^ "HarfBuzz 7.0 Text Shaping Engine Released".
  17. ^ "HarfBuzz 8.0 Released - Introduces Shaper for WebAssembly within Font Files".
  18. ^ "HarfBuzz". doc.dl.playstation.net. Retrieved 26 May 2019.
  19. ^ "JEP 258: HarfBuzz Font-Layout Engine". OpenJDK Enhancement Proposals. Retrieved 20 December 2017.
  20. ^ "Flutter Engine Wiki". GitHub. Retrieved 11 April 2018.
  21. ^ Engine, Godot. "Complex text layouts progress report #1". Godot Engine. Retrieved 12 September 2024.
  22. ^ Engine, Godot. "Godot 4.0 sets sail: All aboard for new horizons". Godot Engine. Retrieved 12 September 2024.
  23. ^ "Announcing Full RTL Language Support". Unity Discussions. 28 October 2024. Retrieved 18 November 2024.
  24. ^ "LibreOffice 4.1 ReleaseNotes". The Document Foundation. 30 July 2013. Retrieved 6 October 2019.
  25. ^ LibreOffice 5.3 Enables New Layout Engine By Default
  26. ^ "Scribus 1.5.3 Released". 22 May 2017. Retrieved 6 June 2018.
  27. ^ "Unified Text Engine in Photoshop". 7 June 2022. Retrieved 25 May 2023.
  28. ^ "Feature summary of InDesign (October 2023 release)". 30 October 2023.
  29. ^ "Debugging Data Corruption with Emscripten | Figma Blog". Figma. 7 November 2016. Retrieved 12 September 2024.
  30. ^ "Rasmus Andersson on Twitter: "Figma uses FreeType and Harfbuzz for font layout..." 30 May 2020. Archived from the original on 30 May 2020. Retrieved 12 September 2024.
  31. ^ Hosny, Khaled (12 March 2013). "[XeTeX] XeTeX 0.9999.0 released". TUG. Retrieved 12 September 2024.
  32. ^ Hosny, Khaled (2013). "What is new in XeTeX 0.9999?" (PDF). TUGboat. 34 (2): 121.
  33. ^ "[Dev-luatex] Luatex 1.11.1 announcement - dev-luatex - NTG Mailing Lists". mailman.ntg.nl. Retrieved 12 September 2024.
  34. ^ Hosny, Khaled (2019). "Bringing world scripts to LuaTeX: The HarfBuzz experiment" (PDF). TUGboat. 40 (1): 38–43.
edit