Quotesingle

From ConTeXt wiki

‘quotesingle’ (Unicode character 0x0027) is the unsexed single quotation mark (or quote, or apostrophe) character '. Putting this character in a ConTeXt (or other TeX) source file will usually result in the the ’ (quoteright) character in the output. Usually, this is what you want: it lets you use the more easily typed ' as an apostrophe in the source file, and have it typeset as the more aesthetically pleasing ’.

However, this causes problems if you actually want the ' character itself in the output. In MkIV, for OpenType fonts, the substitution is controlled by a non-standard OTF feature called trep (short for ‘TeX replacements’). So we can get the ' character throughout the document by ensuring that this feature is switched off in the defaults:

\definefontfeature[default][liga=yes,kern=yes,tlig=yes,trep=no,mode=node]
\starttext
A straight quotation mark: '
\stoptext

But perhaps you want TeX replacement on by default so you can keep getting pretty apostrophes, and you just need the quotesingle character occasionally. In this case you can define a special feature set and activate it only when necessary.

\definefontfeature[default][liga=yes,kern=yes,tlig=yes,trep=yes,mode=node]
\definefontfeature[notrep][trep=no]
\def\realquotesingle{{\addfs{notrep}'}}
\starttext
A straight quotation mark: \realquotesingle .
A normal quotation mark: '.
\stoptext

Note that ‘mode=node’ is necessary for this to work. Also, as stated, this technique applies only to OTF fonts under MkIV. See also this mailing list discussion.