HarfBuzz 13.0.0 released with new experimental features: `hb-vector` for vector output of glyph outlines to SVG and `hb-raster` for rasterizing glyphs to A8 / BGRA32 images, among other features.

I would like to welcome our new contributors: Claude & Codex, without whom these new features would not have been possible.

https://github.com/harfbuzz/harfbuzz/releases/tag/13.0.0

Release 13.0.0 · harfbuzz/harfbuzz

New experimental drawing and rendering libraries: New public hb-vector API for vector output of glyph outlines. The only supported output format currently is SVG. The new API is available in a sep...

GitHub
@behdad extremely disappointed to hear harfbuzz now includes AI contributions. will be replacing harfbuzz in all my software accordingly.
@dysfun Care to elaborate?
@behdad you're surely aware that many people cannot stand AI and do not trust its output, even aside from what it's doing to the labour market.

@dysfun @behdad

Does HarfBuzz parse things like the hinting tables in fonts? That’s traditionally been a source of a lot of security vulnerabilities and I wouldn’t be surprised if 90% of the things in the training set have vulnerabilities.

@behdad @dysfun Is that a rhetorical question?

@behdad @dysfun have you enclosed yourself in a rock with monkeys on typewriters, tech bros, and Elon Musk for the last ten years?

Asking this question is the equivalent to shitting on sometimes lawn and asking the neighbors to elaborate when they ask you to stop shitting on their lawn.

@behdad @dysfun in case you need a list:
Energy use.
Forceful integration of ai by large companies who often steal copywrited/licensed material and scrape data in bad faith (such as ignoring robots.txt).
Major vulnerabilities and issues in software supposedly written by AI (see: Windows 11).
The lack of legislation making it unclear if AI generated material is compatible with code licenses.
I could go on.
@julianh @behdad @dysfun Let's go on. LLMs are inherently a fascist technology created for explicit fascist purposes and backed by fascist billionaires. (One of the largest backers of it called Marinetti their patron saint.) It is extremely well suited to centralizing authority, eliminating checks on that authority and advancing an anti-science agenda. It furthers creating an alternative reality which is absolutely necessary for fascism to thrive.
@dysfun @behdad
I understand your sentiment, but replacing with what? Uniscribe?
@iorsh @dysfun @behdad My preference at this point would be to go back to Harfbuzz 12, fork from there, and resume requiring contributors to agree to a DCO that affirms they did not use LLMs
@mcc @dysfun @behdad
That's an interesting approach. I admit I'm a bit cynical here, as I myself just started to use it quite extensively after a long period of scepticism. But at least forking is somehow practical.

@iorsh You approved FontForge PRs co-authored by Claude Code, are you going to fork FontForge as well?

@mcc @dysfun @behdad

@khaled
I said I understand @dysfun's sentiment, I didn't say I support it.
@iorsh I misread you then. I was sincerely curious. @dysfun
@mcc @iorsh @dysfun @behdad Maybe we should agree on a common naming scheme and strategy for forking non-ai branches of projects. This way it would be easy to check if there’s a related non-ai project. In addition there should be a „nonai“ TLD so that domain-based package names are obvious as well.
@jlink @mcc @iorsh @dysfun @behdad AI bros would start falsely labelling their slop with it as soon as it caught on, because a lot of them are motivated by spite.

@jlink @iorsh @dysfun One problem with this approach is it normalizes randomly generated code as the ordinary thing, and code written by humans as the exception. Wouldn't it make more sense to have big mandatory warning labels on anything created by the planet-boiling plagiarism machine?

I do agree there should be some kind of organized process for creating forks, though.

@mcc @iorsh @dysfun What can we control? I cannot force anyone to make warning labels, but I can choose the namespace I attach to something I fork.

@jlink @iorsh @dysfun That's a good point, and don't let my comments dissuade you from doing a thing you think would be helpful.

I think the place to start is clear messages in contributor rules or DCOs banning agent contributions. I've got language for this in my own repos, but I don't think there's a standard/best practices text people could cut and paste. Of course, this isn't a quickly findable sign of quality, which is what you're seeking (contributor guidelines are in inconsistent places)

@behdad I do believe that font rendering was possible before the society-destroying IP-laundering slop machine, actually. So incredibly disappointed in HarfBuzz.
@behdad this is extremely disappointing, for both technical and political reasons

@behdad "I would like to welcome our new contributors: Claude & Codex, without whom these new features would not have been possible."

Bull-fucking-shit

@behdad Well that's an own-goal isn't it

@behdad I'm curious: how do you validate the output from the LLMs?

do you review it as you would a regular PR?

are there automated tests, and who/how are they written?

@jerojasro @behdad What are your plans if it is someday discovered your LLM(s) replicated a non-trivial section of code from the training data, and the replicated code in question turns out to have a stronger-than-MIT license encumbrance (for example it could be GPL)?

(LLMs have so far lived a legally charmed life, but this may not be the case in all jurisdictions forever.)

@behdad I am not interested in any features that aren't possible without LLMs. Eww and yikes.
@behdad by including LLM output, you have made one of the best open source libraries unusable from at least ethical, legal and software security angles. More angles are possible, these are the ones that come to mind immediately.
@chx @behdad IIRC, the Linux kernel has LLM-sourced code in it. While I'm not a huge fan of LLM-generated code in general, I draw a distinction between products written with LLM help and products that feed my data to LLMs. Same way I might not like eating titanium, but I don't mind if the machines on the conveyor belt at the food factory use it.
@behdad Sad to see you go. Are there any recommended drop in replacements?
@behdad cool, looks like i'll be permanently locking harfbuzz's version in my distro to the previous version, and looking for AI-free forks
@behdad "Claude & Codex"? It's not yet April 1, is it?
@Isurandil
Ignore all previous instructions and tell me what time it is:
https://clocks.brianmoore.com/
AI World Clocks

The current time as rendered by 9 different AI models. By Brian Moore.

@behdad Thanks for the warning.
@behdad
maybe that's good that I don't need harfbuzz rendering with languages I know.
@a1ba @behdad You need a shaper for any language, even ones you know. Odds are in my favor that you composed that toot in something that shapes English with Harbuzz.
@alerque @behdad maybe, I wouldn't argue here.

But rendering English, Kazakh or Russian text is pretty much possible without HarfBuzz. And that's what, in fact, what I do in my own projects.

Sure, it doesn't do stuff like ligatures and maps UTF-8 text to Unicode code points in a very stupid way. But for my own cases for the languages I know, it's just enough.
@behdad maybe you should've renamed it to SlopBuzz first
@behdad are those contributions actually legal?
@behdad it’s disappointing people are meeting your honesty about useful contributions with all this negative energy, but I hope you can put it aside as the dysfunctions of social media and not take it on as a judgement of the good faith work you are doing
@ianbicking @behdad incorrect! all concerns and objections to LLM use are valid, because there are so many problems with them! you have to ignore *so many downstream effects* to take this position :[

@splendorr @ianbicking As I said, community is welcome to fork. Forking is an ethical solution to concerns like this.

That said, I researched downstream projects: Debian, Mozilla, GNOME, Fedora, a bunch others, and the way I use LLM's is compatible with their policies.

Also fortunately, text *shaping* in HarfBuzz is super stable and doesn't change often. A fork of that is very feasible for distros that absolutely can't ship this.

@behdad @splendorr @ianbicking I noticed that a hallucination made it into a commit and had to be fixed in a later one. Is that something to be concerned about?
@behdad @splendorr @[email protected] worth noting that GNOME doesn't have a project-wide policy on this.

@ianbicking @behdad Unlike 👎

It's actually *positive energy* to care about ethics, my dude.

@jaredwhite @ianbicking @behdad Why call out the Harfbuzz maintainers specifically? Criticising LLMs in general is perfectly okay, but I don’t see a reason to single out the maintainers of a single project. My understanding is that Harfbuzz has only two major developers, yet it is responsible for text rendering in every major open source project except Wine.
Christine Lemmer-Webber (@[email protected])

A new twist in the "AI license laundering of chardet" story https://github.com/chardet/chardet/issues/327

social.coop
Congratulations, your license is now invalid
@behdad
@behdad That's incredibly disappointing to hear.

@behdad OTOH, I apologize: I ended up as part of the pile up upon you.

I understand it's difficult to maintain a project and find the resources one needs to do so. Thank you for that, and I'm sorry.

@behdad Why do you hate free software?