Normalizing space after stacked characters in LaTeX: Typesetting o͘

If I understand well what you want, here is a solution with the \stackinset command from stackengine:

\documentclass{article}

\usepackage{stackengine}

\newcommand{\Oo}{\stackinset{r}{}{t}{-1.5pt}{.}{o}}

\begin{document}

o\Oo o \Oo oo \Oo\Oo o ooo

\end{document}

enter image description here


If you want to preserve the automatic kerning between letters, you need to print the ‘o’ twice, superimposing them but adding, in the middle, a raised dot.

\documentclass{article}

\newcommand{\oo}{o\DOTABOVERIGHT{o}{0.6}o}
\DeclareRobustCommand{\DOTABOVERIGHT}[2]{%
  \kern-\fontcharwd\font`#1% back up
  \makebox[0pt][l]{%
    \sbox0{#1}%
    \raisebox{\ht0}[0pt][0pt]{\kern#2\wd0 .}%
  }%
}

\begin{document}

o\oo o \oo oo \oo\oo o ooo

ooo  ooo ooo ooo

\end{document}

The \DOTABOVERIGHT command takes two arguments: the letter the dot should be applied to and the amount of offset (as fraction of the letter width).

enter image description here