WebKit | harfbuzz | |
---|---|---|
1 | 37 | |
84 | 4,172 | |
- | 1.7% | |
2.7 | 9.7 | |
14 days ago | 4 days ago | |
C++ | C++ | |
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
WebKit
harfbuzz
-
Tim Peters – Dispelling Information Asymmetry
>They do have "Developers in Residence" now
Yes - three of them, out of dozens of core developers, selected by a process I can't discern. Of course, right now the money simply isn't there to compensate everyone appropriately. (But one wonders why the Steering Council apparently suddenly requires a "Communications Liaison".)
>The sooner we end this era of "the entire world runs on the good will of bored nerds volunteering their time", the better.
Python is nowhere near the only project with this problem. If you appreciate the fact that your computer can properly display text in non-European languages, consider offering some support to Behdad Esfahbod, main developer of Harfbuzz (https://github.com/harfbuzz/harfbuzz).
As far as I can tell, Linux and Mozilla are the only two open-source organizations that have any significant revenue behind them. Most are probably even worse off than Python.
-
Show HN: Handwriter.ttf – Handwriting Synthesis with Harfbuzz WASM
Font includes WASM code that harfbuzz executes for shaping: https://github.com/harfbuzz/harfbuzz/blob/main/docs/wasm-sha...
It's an experimental feature, so it's not available unless explicitly enabled during compilation.
-
Font as Tetris
You can also build harfbuzz as described here [2] and load it into some program. I used to just install it globally on arch and then use Gimp for the Bad apple example.
And lastly the same person who made the maze also made a way to use LD_PRELOAD to load a custom harfbuzz into arbitary software so you can follow that guide as well: [3]
[0]: https://github.com/hsfzxjy/Harfbuzz-WASM-Fantasy
[1]: https://github.com/harfbuzz/harfbuzz-wasm-examples
[2]: https://github.com/harfbuzz/harfbuzz/blob/main/docs/wasm-sha...
[3]: https://github.com/hsfzxjy/Bad-Apple-Font
- HarfBuzz: Text Shaping Engine
- Rive Renderer – now open source and available on all platforms
-
Libsodium: A modern, portable, easy to use crypto library
For C/C++ projects that use meson as the build system, there is an excellent way to manage dependencies:
https://mesonbuild.com/Wrapdb-projects.html
https://mesonbuild.com/Wrap-dependency-system-manual.html
meson will download and build the libraries automatically and give you a variable which you pass as a regular dependency into the built target:
https://github.com/qemu/qemu/tree/005ad32358f12fe9313a4a0191...
https://github.com/harfbuzz/harfbuzz/tree/main/subprojects
https://github.com/harfbuzz/harfbuzz/blob/37457412b3212463c5...
Or, if you're using proper operating systems, they're managed by the usual package manager, just like everything else.
- The Web Assembly Shaper
-
Text Rendering Hates You
If you sympathize with the travails of people working on text rendering in applications, please consider supporting (among other projects):
1. The LibreOffice project (libreoffice.org), the free office application suite. This is where the rubber hits the road and developers deal with the extreme complexities of everything regarding text - shaping, styling, multi-object interaction, multi-language, you name it. And - they/we absolutely need donations to manage a project with > 200 million users: https://www.libreoffice.org/donate
2. harfbuzz (https://harfbuzz.github.io), and specifically Behdad Esfahood the main contributor. Although, TBH, I've not quite figured out whether you can donate to that or to him. At least star the project on GitHub I guess.
-
ImGui or text rendering libraries
As for text, it depends very heavily on what exactly you need. Simple ASCII text and bitmap fonts? Just do it yourself or get a .bdf parser. Simple Latin/Cyrillic-like writing with ok-looking vector fonts (ttfs)? stb_truetype has all you need. Font hinting, subpixel rendering? You use freetype. More complex writing like Arabic? You will have to do shaping as well, say with HarfBuzz. Need right-to-left or unidirectional text? Hypenation? Go for platform APIs if you can (DirectWrite om Windows, CoreText on Mac).
What are some alternatives?
hayagriva - Rusty bibliography management.
imgui-sfml - Dear ImGui backend for use with SFML
pixglyph - OpenType glyph rendering.
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
htmlwg - HTML Working Group
contour - Modern C++ Terminal Emulator
font-rs
imgui_sdl - ImGuiSDL: SDL2 based renderer for Dear ImGui
ab-glyph - Rust API for loading, scaling, positioning and rasterizing OpenType font glyphs
c-ares - A C library for asynchronous DNS requests
fontdue - The fastest font renderer in the world, written in pure rust.
icu - The home of the ICU project source code.