c-ares VS harfbuzz

Compare c-ares vs harfbuzz and see what are their differences.

Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • Sonar - Write Clean C++ Code. Always.
  • SaaSHub - Software Alternatives and Reviews
c-ares harfbuzz
2 27
1,607 2,993
1.1% 1.1%
4.1 9.9
6 days ago 6 days ago
C++ C++
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.


Posts with mentions or reviews of c-ares. We have used some of these posts to build our list of alternatives and similar projects.

We haven't tracked posts mentioning c-ares yet.
Tracking mentions began in Dec 2020.


Posts with mentions or reviews of harfbuzz. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-06.
  • ImGui or text rendering libraries
    7 projects | /r/C_Programming | 6 Apr 2023
    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).
  • QuestPDF: Modern .NET library for PDF document generation
    14 projects | news.ycombinator.com | 18 Jan 2023
    Gold standard? Even though serious bugs are not fixed [1] because "the code is too fragile to touch at this point"? Looks like Android uses HarfBuzz, if so it can't be that bad.

    [1] https://github.com/harfbuzz/harfbuzz/issues/2814

  • A Programmable Markup Language for Typesetting [pdf]
    9 projects | news.ycombinator.com | 18 Jan 2023
    The linked libraries are not even close to solving limited subsets of problems solved by FreeType or HarfBuzz. No test is needed if they do not even have a working implementation of particular requisites: Do they work on heterogeneous layouts, directions, languages, locales, scripts, symbols and composites, extensions, variations, legacy, missing, partial or corrupted instructions, standards interpretations, platforms, output devices, nonstandard point structures and grids?

    They do not. What they solve is almost a toy problem compared to the size, scope and breadth of these libraries.

    Just because some project is implemented in Rust does not make it comparable never mind superior by default.

    There is a world out there and it is not homogeneous format and standards-compliant Latin fonts in English LTR text in linear disposition with some generic rectangular subpixel rendering on a regular rectangular grid.

    I warmly welcome you to browse closed issues of FreeType [1] and also the closed issues of HarfBuzz [2]. If you feel inspired please do also look into mailing lists and discussion pages related to the development, building, tracking and patching of packages of these projects in any of the numerous places it is used.

    The only argument Rust people have is in relation WASM but if you insist in targeting WASM why not fork FreeType, strip it to the strict subset of features your application needs and target it?

    Why do it in the first place? Why reinvent the wheel?

    As such I will restate my view: I see no gain in using any of these subpar libraries.

    [1] https://gitlab.freedesktop.org/freetype/freetype/-/issues/?s...

    [2] https://github.com/harfbuzz/harfbuzz/issues?q=is%3Aclosed

  • Ask HN: What are some excellent pieces of software written by a single person?
    9 projects | news.ycombinator.com | 8 Nov 2022
    I'm not sure if it truly fits this category, but HarfBuzz[0], maintained primarily by Behdad Esfahbod, comes to mind.

    [0] https://harfbuzz.github.io/

  • da zero a programmare un programma di scrittura e una tastiera?
    3 projects | /r/ItalyInformatica | 6 Oct 2022
  • Is There An Algorithm To How Computer Cursors Highlight Text?
    2 projects | /r/computerscience | 12 Jun 2022
    harfbuzz is a popular library for text rendering. You may also want to check out rustybuzz, a small subset of harfbuzz ported to Rust with pretty great documentation.
  • Rendering text
    2 projects | /r/opengl | 1 May 2022
    I also use HarfBuzz to take care of text shaping (because some languages require different glyphs depending on the context - Arabic for example requires letters to be connected in a word).
  • What should we know about fonts?
    6 projects | /r/gamedev | 17 Feb 2022
    And if a person embarks on rendering their own fonts with freetype, they will likely need to use harfbuzz for shaping.
  • Text Rendering Hates You
    7 projects | news.ycombinator.com | 14 Feb 2022
    Have you looked into harfbuzz? afaik it's designed to solve that problem, for all languages.


  • Any good video tutorials on making a OS with a GUI?
    5 projects | /r/osdev | 10 Dec 2021
    Then there is the entire internationalization problem for which you have to implement most of the Unicode standard, the reports can be found here: http://unicode.org/reports/ and in general you will need the bidirectional algorithm for Hewbrew/Arabic texts, normalization, the line breaking algorithm, the script property and probably text segmentation. On top, you will also need to deal with text shaping (e.g. https://github.com/harfbuzz/harfbuzz). For instance é should be rendered as é and not as e' (even though the grapheme may consist of two code points, there is also a version that is a single code point).

What are some alternatives?

When comparing c-ares and harfbuzz you can also consider the following projects:

imgui-sfml - Dear ImGui backend for use with SFML

nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.

contour - Modern C++ Terminal Emulator

imgui_sdl - ImGuiSDL: SDL2 based renderer for Dear ImGui

Tehreer-Android - Standalone text engine for Android aimed to be free from platform limitations

quackle - Quackle crossword game artificial intelligence and analysis tool

msdfgen - Multi-channel signed distance field generator

awesome-typography - ✏︎ Curated list about digital typography 🔥

html5lib - Standards-compliant library for parsing and serializing HTML documents and fragments in Python

flamethrower - a DNS performance and functional testing utility supporting UDP, TCP, DoT and DoH (by @ns1labs)

PowerDNS - PowerDNS Authoritative, PowerDNS Recursor, dnsdist

scrift - New generation shell for everyone.