\documentclass{article}
\begin{document}
\section{Text Ligatures}
LDots\ldots, versus dots ...
A range: 1--10 gets en-dash.
In interjection --- like this --- gets em-dash.
A ``quote'' like this.
?`Espa\~nol? !`Hola!
\section{Ignore comments}
%foo
`%bar
`Hopefully Quoted%baz
'%qux
'
A number
\ensuremath{%foo
12345.%bar
%baz
67890%qux
}
?
An --- emdash,
%foo
-%bar
-%baz
-%qux
perhaps?
\section{Typewriter non-Ligatures}
\texttt{LDots\ldots, versus dots ...}
\texttt{A range: 1--10 gets en-dash.}
\texttt{In interjection --- like this --- gets em-dash.}
\texttt{A ``quote'' like this.}
\end{document}