HarfBuzz é um mecanismo de modelagem de texto. Ele suporta principalmente OpenType, mas também Apple Advanced Typography. HarfBuzz é usado em Android, Chrome, ChromeOS, Firefox, GNOME, GTK+, KDE, Qt, LibreOffice, OpenJDK, XeTeX, PlayStation, Microsoft Edge, Adobe Photoshop, Illustrator, InDesign, Godot Engine, Unreal Engine e outros lugares.
Para relatórios de bugs, lista de discussão e outras informações, visite:
http://harfbuzz.org/
Para obter informações sobre licença, consulte COPIANDO.
Para o manual do usuário, bem como a documentação da API, verifique: https://harfbuzz.github.io
Para versões tarball do HarfBuzz, veja aqui. No mesmo lugar você também encontrará pacotes binários Win32/Win64 que incluem DLL libharfbuzz
, hb-view.exe
, hb-shape.exe
e todas as dependências.
A árvore de origem canônica está disponível no github.
A API que vem com hb.h
não será alterada de forma incompatível. Outros cabeçalhos periféricos têm maior probabilidade de passar por pequenas modificações, mas, novamente, fazemos o possível para nunca alterar a API de maneira incompatível. Nunca quebraremos a ABI.
Se você não tem certeza se Pango ou HarfBuzz são adequados para você, leia Pango vs HarfBuzz.
Para obter informações de compilação, consulte BUILD.md.
Para configurações personalizadas, consulte CONFIG.md.
Para testes e criação de perfil, consulte TESTING.md.
Para ter uma ideia melhor de onde o HarfBuzz está na pilha de renderização de texto, você pode ler State of Text Rendering 2024. Aqui estão alguns slides de apresentação sobre o HarfBuzz na Conferência de Internacionalização e Unicode ao longo dos anos:
A discussão sobre desenvolvimento e suporte ao usuário em torno do HarfBuzz acontece no github.
Para relatar bugs ou enviar patches, use problemas e solicitações pull do github.
Para uma comparação entre o consumo de memória antigo e o novo do HarfBuzz, veja isto.
HarfBuzz (حرفباز) é a tradução literal persa de “OpenType”, transliterada usando a escrita latina. Também significa "falante" ou "loquaz" (também uma referência ao projeto GNOME de onde o HarfBuzz se originou).
Plano de fundo: Originalmente havia esse formato de fonte chamado TrueType. Pessoas e empresas começaram a chamar seus mecanismos de tipos de todas as coisas que terminam em Type: FreeType, CoolType, ClearType, etc. E então veio o OpenType, que é o sucessor do TrueType. Então, para minha implementação OpenType, decidi manter o conceito, mas usar a tradução persa. O que é adequado, visto que o persa é escrito na escrita árabe, e o OpenType é uma extensão do TrueType que adiciona suporte para renderização de scripts complexos, e o HarfBuzz é uma implementação da modelagem de texto complexo OpenType.