Direct-speech alternative quotation in Italian

I am currently using quotmark with guillemots (standard Italian), but I would like to switch to "alternate" way to represent direct speech, which is (IMHO) much nicer.

• direct speech starts with em-dash.
• if direct speech is the full paragraph then there is no closing quotes (Joyce style).
• if there is a trailing non-direct-speech in paragraph (e.g.: "No", said Tom.) then a closing em-dash is required.
• inner (recursive) direct-speech should be represented by inverted quotes (something like: --- Tom said "no", but seemed unconvinced --- commented Ted.)

These are the general rules for Italian "alternate", I also need to represent some special speech which I currently render using "maiuscoletto" (\scshape), but result is not completely satisfactory when combined with other effects (e.g.: \tqt{\scshape Esatto. Sono \begin{bfseries}IO\end{bfseries} che mando avanti la selezione naturale. Se \begin{bfseries}IO\end{bfseries} non collaboro la selezione si ferma, per un po' languisce e poi \begin{itshape}torna indietro\end{itshape}!}) as setting other fonts apparently clears "maiuscoletto".

Is there some package implementing something like the above? I was not able to find anything comparable (without extensive rewriting).

• Why \begin{bfseries}IO\end{bfseries} instead of the simpler (and more correct) \textbf{IO}? Anyway, the problem is simply that the standard Computer Modern fonts lack smallcaps in boldface and italics. – egreg Apr 22 '19 at 11:14
• @egreg: why? Simply because that's the first thing I found. I'm not an expert in text formatting, latex or otherwise, I'm just trying to publish a novel in the best possible way (hell! I'm actually not even a writer! I work in a completely different line, but I would like to do things in a "proper"way... as much as I can). Thanks for the hint. Should I switch font? If so: what would You suggest? – ZioByte Apr 22 '19 at 17:35