Discussion summary

Jim's TrueType QR Code Font is a project that generates QR codes using OpenType fonts, but faces compatibility issues on Safari and iOS 27. The project is detailed on GitHub, though some users find the explanation lacking.

What the discussion says

  • Some users report Safari and WebKit (including iOS 27) have trouble rendering the font.
  • The project leverages OpenType's advanced features like hinting and glyph substitution.
  • There is a limitation to support only Basic Latin (English-only).
  • Users appreciate the technical innovation but note browser compatibility issues.
OpenType specification is Turing complete, its hinting engine does math during rasterization.
zb3
Some details of how it works are in https://github.com/jimparis/qr-font/blob/master/design.md
foodevl

Comments

Hacker News

Spaces are definitely broken in Safari.

by LoganDark

Unfortunately the most important thing here is missing - the whole explanation, like how did we get there, what those fonts can do and so on..

by zb3

That’s a common downside of HN: submitters often link the GitHub repository rather than the project’s explanation. The article’s had the project link added at the top (just below the GitHub link) and it has a much clearer story.

by altairprime

OpenType specification is Turing complete, its hinting engine does math during rasterization and its GSUB (Glyph Substitution, a layout and shaping engine) does glyph stacking, QR code correction, etc to finalize the QR. The nice thing about it is if you copy and paste it, it goes to the original text.

by karunamurti

Some details of how it works are in https://github.com/jimparis/qr-font/blob/master/design.md

Fair warning though: this was designed and implemented by an LLM, as an experiment to see if it was possible. I only guided it to a working solution by pointing out problems, and never dug deeply into its inner workings.

by foodevl

Great idea, but it's a shame that it only supports Basic Latin (English-only).

by andonumb

Impressive, but on iOS 27 even one of the examples don't work. Seems like it has an issue with spaces. https://imgur.com/a/tZGqtjR

by andix

Did you read the explanation? It says right there on the page why it happens.

Or was that text added since you viewed it?

by diroussel

Checked on my phone, Chrome+Firefox work, WebKit (through wpe-android) doesn't. Safari and WebKit can't render this font for some reason, I suppose.

by jeroenhd

This ... means the page could render a QR code for humans while letting bots see the actual URL. That is incredibly cool.

by maguay

Conventional web technologies already can handle this kind of use case, either by wrapping an image in a link tag, or using an alt= value.

by bulder

Or with some tweaks to the font code they could see a different URL…

This could be used for good (diverting bots away from where you don't want them) or evil (different destinations for user and other readers of the page could be used to trick people going to undesirable locations, because the apparent URL checks out find according to automated scanners).

by dspillett

This is SO COOL. Works perfectly in FF for me, if it can be made to work in safari then this might be one of the easiest ways to generate and display QR codes on the front-end.

by notRobot

It doesn’t seem to like spaces that much, the code for [QR coded] is broken for me on safari ios. When the space is removed it’s a working qrcode again

by shreddit

The page addresses this issue, saying that browser text wrapping can cause issues and gives advice on how to deal with it.

by diroussel

It looks like Safari doesn't render this correctly (checked on macOS). Works fine in Chrome and Firefox, though. Must be a Safari quirk of some kind.

by jeroenhd

Font rendering should scare you

by trillic

Indeed, I have all font downloads off in all my browsers, by default.

by b112

A fun benefit seems to be that you can select the QR code as text and copy it, which puts the original text in your clipboard.

by jhogervorst

Maybe it's not practical for day-to-day use but the way this hacks the font to produce something completely different is amazing!

by athenot

Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Spaces are definitely broken in Safari.
    by LoganDark
  • Unfortunately the most important thing here is missing - the whole explanation, like how did we get there, what those fonts can do and so on..
    by zb3
  • That’s a common downside of HN: submitters often link the GitHub repository rather than the project’s explanation. The article’s had the project link added at the top (just below the GitHub link) and it has a much clearer story.
    by altairprime
  • OpenType specification is Turing complete, its hinting engine does math during rasterization and its GSUB (Glyph Substitution, a layout and shaping engine) does glyph stacking, QR code correction, etc to finalize the QR. The nice thing about it is if you copy and paste it, it goes to the original text.
    by karunamurti
  • Some details of how it works are in https://github.com/jimparis/qr-font/blob/master/design.md

    Fair warning though: this was designed and implemented by an LLM, as an experiment to see if it was possible. I only guided it to a working solution by pointing out problems, and never dug deeply into its inner workings.

    by foodevl
  • by ChrisArchitect
  • Great idea, but it's a shame that it only supports Basic Latin (English-only).
    by andonumb
  • Impressive, but on iOS 27 even one of the examples don't work. Seems like it has an issue with spaces. https://imgur.com/a/tZGqtjR
    by andix
  • Did you read the explanation? It says right there on the page why it happens.

    Or was that text added since you viewed it?

    by diroussel
  • Checked on my phone, Chrome+Firefox work, WebKit (through wpe-android) doesn't. Safari and WebKit can't render this font for some reason, I suppose.
    by jeroenhd
  • This ... means the page could render a QR code for humans while letting bots see the actual URL. That is incredibly cool.
    by maguay
  • Conventional web technologies already can handle this kind of use case, either by wrapping an image in a link tag, or using an alt= value.
    by bulder
  • Or with some tweaks to the font code they could see a different URL…

    This could be used for good (diverting bots away from where you don't want them) or evil (different destinations for user and other readers of the page could be used to trick people going to undesirable locations, because the apparent URL checks out find according to automated scanners).

    by dspillett
  • This is SO COOL. Works perfectly in FF for me, if it can be made to work in safari then this might be one of the easiest ways to generate and display QR codes on the front-end.
    by notRobot
  • It doesn’t seem to like spaces that much, the code for [QR coded] is broken for me on safari ios. When the space is removed it’s a working qrcode again
    by shreddit
  • The page addresses this issue, saying that browser text wrapping can cause issues and gives advice on how to deal with it.
    by diroussel
  • It looks like Safari doesn't render this correctly (checked on macOS). Works fine in Chrome and Firefox, though. Must be a Safari quirk of some kind.
    by jeroenhd
  • Font rendering should scare you
    by trillic
  • Indeed, I have all font downloads off in all my browsers, by default.
    by b112
  • A fun benefit seems to be that you can select the QR code as text and copy it, which puts the original text in your clipboard.
    by jhogervorst
  • Maybe it's not practical for day-to-day use but the way this hacks the font to produce something completely different is amazing!
    by athenot

Related stories