[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-84022":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":8,"totalLinesOfCode":8,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":8,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":20,"topics":22,"createdAt":8,"pushedAt":8,"updatedAt":34,"readmeContent":35,"aiSummary":8,"trendingCount":15,"starSnapshotCount":15,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},84022,"harfbuzz","harfbuzz\u002Fharfbuzz","HarfBuzz text shaping engine",null,"https:\u002F\u002Fgithub.com\u002Fharfbuzz\u002Fharfbuzz","C++",5701,752,101,78,0,11,12,34,39.63,false,"main",[23,24,25,26,27,28,29,30,31,32,33],"opentype","fonts","c-plus-plus","c","unicode","text-shaping","aat","variable-fonts","typography","text-rendering","gpu","2026-06-12 02:04:37","# HarfBuzz\n\n\u003Cdiv align=\"center\">\n\n\u003Cp>\u003Cimg src=\"HarfBuzz.png\" alt=\"HarfBuzz Logo\" width=\"256\"\u002F>\u003C\u002Fp>\n\n[![Linux CI Status](https:\u002F\u002Fgithub.com\u002Fharfbuzz\u002Fharfbuzz\u002Factions\u002Fworkflows\u002Flinux.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fharfbuzz\u002Fharfbuzz\u002Factions\u002Fworkflows\u002Flinux.yml)\n[![macoOS CI Status](https:\u002F\u002Fgithub.com\u002Fharfbuzz\u002Fharfbuzz\u002Factions\u002Fworkflows\u002Fmacos.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fharfbuzz\u002Fharfbuzz\u002Factions\u002Fworkflows\u002Fmacos.yml)\n[![Windows CI Status](https:\u002F\u002Fgithub.com\u002Fharfbuzz\u002Fharfbuzz\u002Factions\u002Fworkflows\u002Fmsvc.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fharfbuzz\u002Fharfbuzz\u002Factions\u002Fworkflows\u002Fmsvc.yml)\n[![OSS-Fuzz Status](https:\u002F\u002Foss-fuzz-build-logs.storage.googleapis.com\u002Fbadges\u002Fharfbuzz.svg)](https:\u002F\u002Foss-fuzz-build-logs.storage.googleapis.com\u002Findex.html#harfbuzz)\n[![Coverity Scan Build Status](https:\u002F\u002Fscan.coverity.com\u002Fprojects\u002F15166\u002Fbadge.svg)](https:\u002F\u002Fscan.coverity.com\u002Fprojects\u002Fharfbuzz)\n[![Packaging status](https:\u002F\u002Frepology.org\u002Fbadge\u002Ftiny-repos\u002Fharfbuzz.svg)](https:\u002F\u002Frepology.org\u002Fproject\u002Fharfbuzz\u002Fversions)\n[![OpenSSF Scorecard](https:\u002F\u002Fapi.securityscorecards.dev\u002Fprojects\u002Fgithub.com\u002Fharfbuzz\u002Fharfbuzz\u002Fbadge)](https:\u002F\u002Fsecurityscorecards.dev\u002Fviewer\u002F?uri=github.com\u002Fharfbuzz\u002Fharfbuzz)\n\n\u003C\u002Fdiv>\n\nHarfBuzz started as a text shaping engine but has grown into a\nfull font platform — the `ffmpeg` of text shaping.  It primarily\nsupports [OpenType][1], but also [Apple Advanced Typography][2].\n\nHarfBuzz shapes the majority of text on modern screens.\n\nHarfBuzz is optimized for robustness, correctness, and performance\n— in that order. Achieve all.\n\n**[Try it live at harfbuzz-world.cc](https:\u002F\u002Fharfbuzz-world.cc\u002F)** — an interactive playground for shaping, subsetting, rasterization, vector output, and GPU rendering, all running in your browser.\n\nHere is a quick map of its components:\n\n### Core libraries\n\n| Library | Description |\n|---------|-------------|\n| **libharfbuzz** | Text shaping, draw API, paint API. Highly configurable (see [CONFIG.md](CONFIG.md)). Optional integration backends compiled in: hb-ft (FreeType), hb-coretext (macOS), hb-uniscribe (Windows), hb-directwrite (Windows), hb-gdi (Windows), hb-glib, hb-graphite2. |\n| **libharfbuzz-subset** | Font subsetting and variable-font instancing. |\n\n### Auxiliary libraries\n\n| Library | Description |\n|---------|-------------|\n| **libharfbuzz-icu** | ICU Unicode integration. |\n| **libharfbuzz-cairo** | Cairo rendering integration. |\n| **libharfbuzz-gobject** | GObject\u002FGI bindings. |\n\n### Experimental libraries\n\n| Library | Description |\n|---------|-------------|\n| **libharfbuzz-raster** | Glyph rasterization to bitmaps, including color fonts. Uses hb-draw and hb-paint. |\n| **libharfbuzz-vector** | Glyph output to vector formats (currently SVG), including color fonts. Uses hb-draw and hb-paint. |\n| **libharfbuzz-gpu** | Encodes glyph outlines for GPU rasterization (Slug algorithm). Provides shader sources in GLSL, WGSL, MSL, and HLSL. [Live demo.](https:\u002F\u002Fharfbuzz.github.io\u002Fhb-gpu-demo\u002F) |\n\nNotable missing feature: font hinting (including autohinting)\nis not implemented.  For hinted rasterization, use FreeType or\nSkrifa.\n\nFor simplified builds, amalgamated sources are available:\n`harfbuzz.cc` (just libharfbuzz), `harfbuzz-subset.cc` (just\nlibharfbuzz-subset), or `harfbuzz-world.cc` (everything, driven\nby a custom `hb-features.h`).  For a live in-browser playground\nplus a worked example of the world.cc single-file build, see\n[harfbuzz-world.cc][26].\n\n### Command-line tools\n\n| Tool | Description |\n|------|-------------|\n| **hb-shape** | Shape text and display glyph output. |\n| **hb-view** | Render shaped text to an image. |\n| **hb-subset** | Subset and optimize fonts. |\n| **hb-info** | Display font metadata. |\n| **hb-raster** | Render glyphs to bitmap images. |\n| **hb-vector** | Render glyphs to vector formats (SVG). |\n| **hb-gpu** | Interactive GPU text rendering. |\n\nThe canonical source tree and bug trackers are available on [github][4].\nBoth development and user support discussion around HarfBuzz happen on\n[github][4] as well.\n\nFor license information, see [COPYING](COPYING).\n\n## API stability\n\nThe API that comes with `hb.h` will not change incompatibly. Other, peripheral,\nheaders are more likely to go through minor modifications, but again, we do our\nbest to never change API in an incompatible way. We will never break the ABI.\n\nThe API and ABI are stable even across major version number jumps. In fact,\ncurrent HarfBuzz is API\u002FABI compatible all the way back to the 0.9.x series.\nIf one day we need to break the API\u002FABI, that would be called a new library.\n\nAs such, we bump the major version number only when we add major new features,\nthe minor version when there is new API, and the micro version when there\nare bug fixes.\n\n## Documentation\n\nFor user manual as well as API documentation, check: https:\u002F\u002Fharfbuzz.github.io\n\n## Download\n\nTarball releases and Win32\u002FWin64 binary bundles are available on the\n[github releases][3] page.\n\n## Development\n\nFor build information, see [BUILD.md](BUILD.md).\n\nFor custom configurations, see [CONFIG.md](CONFIG.md).\n\nFor testing and profiling, see [TESTING.md](TESTING.md).\n\nFor using with Python, see [README.python.md](README.python.md). There is also [uharfbuzz](https:\u002F\u002Fgithub.com\u002Fharfbuzz\u002Fuharfbuzz).\n\nFor cross-compiling to Windows from Linux or macOS, see [README.mingw.md](README.mingw.md).\n\nTo report bugs or submit patches please use [github][4] issues and pull-requests.\n\n### Developer documents\n\nTo get a better idea of where HarfBuzz stands in the text rendering stack you\nmay want to read [State of Text Rendering 2024][6].\nHere are a few presentation slides about HarfBuzz over the years:\n\n- 2026 – [HarfBuzz at 20!][25]\n- 2016 – [Ten Years of HarfBuzz][20]\n- 2014 – [Unicode, OpenType, and HarfBuzz: Closing the Circle][7]\n- 2012 – [HarfBuzz, The Free and Open Text Shaping Engine][8]\n- 2009 – [HarfBuzz: the Free and Open Shaping Engine][9]\n\nMore presentations and papers are available on [behdad][11]'s website.\nIn particular, the following _studies_ are relevant to HarfBuzz development:\n\n- 2025 – [AAT layout caches][24]\n- 2025 – [OpenType Layout lookup caches][23]\n- 2025 – [Introducing HarfRust][22]\n- 2025 – [Subsetting][21]\n- 2025 – [Caching][12]\n- 2025 – [`hb-decycler`][13]\n- 2022 – [`hb-iter`][14]\n- 2022 – [A C library written in C++][15]\n- 2022 – [The case of the slow `hb-ft` `>h_advance` function][18]\n- 2022 – [PackTab: A static integer table packer][16]\n- 2020 – [HarfBuzz OT+AAT \"Unishaper\"][19]\n- 2014 – [Building the Indic Shaper][17]\n- 2012 – [Memory Consumption][10]\n\n\n## Name\n\nHarfBuzz \u002Fhærfˈbɒːz\u002F\n\nFrom Persian حرف (*Harf*: letter) and باز (*Buzz*: open).\nTransliteration of the Persian calque for *OpenType*.\n\nAs a noun: *The* Open Source *text shaping* engine.\n\nAs an adjective: Insincerely talkative; glib. A nod to the\nGNOME project where HarfBuzz originates from.\n\nThe logo shows حرف‌باز in the IranNastaliq font, on a Damascus\nsteel background.\n\n> Background: Originally there was this font format called TrueType. People and\n> companies started calling their type engines all things ending in Type:\n> FreeType, CoolType, ClearType, etc. And then came OpenType, which is the\n> successor of TrueType. So, for my OpenType implementation, I decided to stick\n> with the concept but use the Persian translation. Which is fitting given that\n> Persian is written in the Arabic script, and OpenType is an extension of\n> TrueType that adds support for complex script rendering, and HarfBuzz is an\n> implementation of OpenType text shaping.\n\n## Users\n\nHarfBuzz is used in Android, Chrome, ChromeOS, Firefox, Flutter, GNOME, GTK+, KDE,\nQt, LibreOffice, OpenJDK, XeTeX, Adobe Photoshop, Illustrator, InDesign,\nMicrosoft Edge, Amazon Kindle, PlayStation, Godot Engine, Unreal Engine,\nFigma, Canva, QuarkXPress, Scribus, smart TVs,\ncar displays, and many other places.\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fxkcd.com\u002F2347\u002F\" rel=\"nofollow\">\n    \u003Cimg src=\"xkcd.png\" width=\"256\" alt=\"xkcd-derived image\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n## Distribution\n\n\u003Cdetails>\n  \u003Csummary>Packaging status of HarfBuzz\u003C\u002Fsummary>\n\n[![Packaging status](https:\u002F\u002Frepology.org\u002Fbadge\u002Fvertical-allrepos\u002Fharfbuzz.svg?header=harfbuzz)](https:\u002F\u002Frepology.org\u002Fproject\u002Fharfbuzz\u002Fversions)\n\n\u003C\u002Fdetails>\n\n[1]: https:\u002F\u002Fdocs.microsoft.com\u002Fen-us\u002Ftypography\u002Fopentype\u002Fspec\u002F\n[2]: https:\u002F\u002Fdeveloper.apple.com\u002Ffonts\u002FTrueType-Reference-Manual\u002FRM06\u002FChap6AATIntro.html\n[3]: https:\u002F\u002Fgithub.com\u002Fharfbuzz\u002Fharfbuzz\u002Freleases\n[4]: https:\u002F\u002Fgithub.com\u002Fharfbuzz\u002Fharfbuzz\n[6]: https:\u002F\u002Fbehdad.org\u002Ftext2024\n[7]: https:\u002F\u002Fdocs.google.com\u002Fpresentation\u002Fd\u002F1x97pfbB1gbD53Yhz6-_yBUozQMVJ_5yMqqR_D-R7b7I\u002Fpreview\n[8]: https:\u002F\u002Fdocs.google.com\u002Fpresentation\u002Fd\u002F1ySTZaXP5XKFg0OpmHZM00v5b17GSr3ojnzJekl4U8qI\u002Fpreview\n[9]: https:\u002F\u002Fbehdad.org\u002Fdoc\u002Fharfbuzz2009-slides.pdf\n[10]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F12jfNpQJzeVIAxoUSpk7KziyINAa1msbGliyXqguS86M\u002Fpreview\n[11]: https:\u002F\u002Fbehdad.org\u002F\n[12]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1_VgObf6Je0J8byMLsi7HCQHnKo2emGnx_ib_sHo-bt4\u002Fpreview\n[13]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1Y-u08l9YhObRVObETZt1k8f_5lQdOix9TRH3zEXaoAw\u002Fpreview\n[14]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1o-xvxCbgMe9JYFHLVnPjk01ZY_8Cj0vB9-KTI1d0nyk\u002Fpreview\n[15]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F18hI56KJpvXtwWbc9QSaz9zzhJwIMnrJ-zkAaKS-W-8k\u002Fpreview\n[16]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1Xq3owVt61HVkJqbLFHl73il6pcTy6PdPJJ7bSouQiQw\u002Fpreview\n[17]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1wMPwVNBvsIriamcyBO5aNs7Cdr8lmbwLJ8GmZBAswF4\u002Fpreview\n[18]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1wskYbA-czBt57oH9gEuGf3sWbTx7bfOiEIcDs36-heo\u002Fpreview\n[19]: https:\u002F\u002Fprezi.com\u002Fview\u002FTHNPJGFVDUCWoM20syev\u002F\n[20]: https:\u002F\u002Fbehdad.org\u002Fdoc\u002Fharfbuzz10years-slides.pdf\n[21]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1_vZrt97OorJ0jA1YzJ29LRcGr3YGrNJANdOABjVZGEs\u002Fpreview\n[22]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1aH_waagdEM5UhslQxCeFEb82ECBhPlZjy5_MwLNLBYo\u002Fpreview\n[23]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1hRd5oYQJLrt0JuwWhEJWi7wh_9rbaIJkX6IR9DW7rZQ\u002Fpreview\n[24]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1a3K6fHjsiWW36vSzwJwCwEBOgznunKs80PSpBbpfHiA\u002Fpreview\n[25]: https:\u002F\u002Fdocs.google.com\u002Fpresentation\u002Fd\u002F1o9Exz1c-Lr-dJjA8dcBn_Vl_Y37cupmFzmclMjBE_Bc\u002Fview\n[26]: https:\u002F\u002Fharfbuzz-world.cc\u002F\n",2,"2026-06-11 04:12:06","trending"]