The Am Dash is a clever idea.
It’s a little typographic dash you can slip into text that sorta “proves” it’s human written, while looking kinda cool.

This “proves” it’s human written because there is barely any text in the world that uses this so LLMs will (never?) generate text that has “am-” in it instead of a dash. And even if it does, it will render as “am-” not a cool curly dash.
The website is pretty light on usage details though. What it gives you is some .otf (Open Type font files) to download (“Times New Human”, “Areal”, lol). These are modified versions of Times New Roman and Ariel that include a new ligature (the am dash) that shows itself when you type “am-“. You’d install and use them on your operating system. (I like Typeface.)
So you’d just type:
This is going to be easy am- or so he thought.
And instead of “am-” you’d get the fancy dash, so long as you’re using the font you just installed in a native app.
I think it’s a kinda neat idea.
But how might we use it on the web? Well we can just make a .woff2 version, load it up, and make it part of the font stack.
@font-face {
font-family: 'Times New Human';
src: url('https://assets.codepen.io/3/TimesNewHuman-Reg.woff2') format('woff2');
font-style: normal;
font-weight: normal;
}
html {
font-family: "Times New Human", MyCustomFont, serif;
}Code language: CSS (css)
That works.
But it’s nearly 50kb just for that dash, which feels like too much for me.
A font with one bonus character in it should be super small, right? Well that was my first line of thinking, so I tried making a version of the font file (with fonttools) with ligatures only, like:
pyftsubset TimesNewHuman-Reg.otf --layout-features=dlig --output-file=TimesNewHuman-ligonly.otf
But after some head scratching… that doesn’t work.
The thing is this isn’t ligature with a specific unicode point like…
Ligature 'ff': U+FB00 (ff)
… but the am dash does show up as a ligature in tools like Typeface:

If it was a specific unicode point, we could limit (subset) the font to only that character and it would work great (probably?!). We could even remind the browser through the @font-face block that it only applies to a unicode-range of that exact unicode point.
But… the ligature in this font isn’t a single unicode character. I don’t have the right language to describe this, but you can see how the dash is actually three characters still:

So this is where I’m stuck.
We could make sure that “a”, “m”, and “-” are covered by Times New Human, for example, like this:
unicode-range: U+0061, U+006D, U+002D;Code language: CSS (css)
But if we do that, then all of those characters use that font, not just the ligature.

So I dunno. Like I said this is where I’m stuck.
I have a hunch there is some way to ship a super small font that only has that ligature in it for web usage and doesn’t affect other fonts you might be using, but that’s not how it ships right now and I haven’t figured it out. It might mean making that ligature an actual single unicode point.
Also: accessibility.
VoiceOver reads as “am” straight up, which is very awkward.

Is that fixable? Would a single unicode point help here? Would "--" or even "dash" be a better ligature to use instead of “am-“?
Will this be detrimental for people using screen readers? It seems like they would have “am” (or “am dash” or similar?) read out to them.
Screen readers announce it literally as “amdash”.
A solution here is to render the ligature using pseudo-element
contentfor an element witharia-hidden, then follow that with a visually-hidden em-dash to restore the phrasing pause that a real em-dash creates.Here’s an example of that could work: https://codepen.io/TPG/pen/yyyRXwL
I don’t understand the line of thinking that LLM’s would not generate these on their own?
Major websites are pummeled hourly with scraping requests. Small players are being DDOS’d by OpenAI ignoring Robots.txt rules. The second humans popularize this in writing, it will 100% be picked up by LLMs training on data and getting ready to regurgitate it back at us.
Seems an anti-pattern to start letting real human written language evolve into slop of its own to keep up with the AI-slop, but eh, what do I know.
It’s an overwritten joke, a self-promotional stunt by a marketing agency. Do not feed.