KeenWrite[0] is my free, open-source plain text Markdown editor that exports to XHTML. That XHTML is passed into ConTeXt (typesetting software) to produce beautifully typeset PDFs. On the way from Markdown to XHTML, KeenWrite passes the XHTML through KeenQuotes[1], my straight quote curling library, to encode quotation marks as HTML entities. This means ' becomes lsquo, rsquo, or apos, depending on the context (pun intended, sorry).
Those HTML entities are then curled correctly when any theme[2] is applied.
What bytes is not having a separate glyph for a curled apostrophe because it makes detection of British (or nested) quotations a difficult chore for natural language processors. To get a curled apostrophe, word processors inject the semantically incorrect right-curled single quote, which ought to be reserved for a closing quotation mark exclusively.
There are a few fonts that do curl the apostrophe, such as GFS Didot[3].
[0]: https://github.com/DaveJarvis/keenwrite
[1]: https://whitemagicsoftware.com/keenquotes/
[2]: https://github.com/DaveJarvis/keenwrite-themes/blob/main/xht...
[3]: https://fonts.google.com/specimen/GFS+Didot