% Example and test for the substitutefont package:
\documentclass{article}
\usepackage{parskip}
\usepackage[LGR,T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{substitutefont}

% Serif
\usepackage[sc,slantedGreek]{mathpazo}
\substitutefont{LGR}{pplx}{udidot}

% Sans
\renewcommand*\sfdefault{uop}
\substitutefont{LGR}{uop}{neohellenic}

% Monospaced
\renewcommand*{\ttdefault}{txtt}   % from txtt package
\substitutefont{LGR}{txtt}{cmtt}  % CB fonts


% Teststring
\newcommand{\alphabet}{%
  abcdefghjiklmnoprqrstuvwxyzäöüß
  {\fontencoding{LGR}\selectfont abgdezhjiklmnxoprsctufqyw} \\
  ABCDEFGHJIKLMNOPRQRSTUVWXYZÄÖÜ
  {\fontencoding{LGR}\selectfont ABGDEZHJIKLMNXOPRSTUFQYW}
}

\begin{document}

Palatino/Optima/txtt with Didot/Neohellenic/CB for Greek text.

\begin{description}
  \item [Normal:] \alphabet

  \item [it:] \textit{\alphabet}

  \item [sl:] \textsl{\alphabet}

  \item [bf:] \textbf{\alphabet}

  \item [bf it:] \textbf{\textit\alphabet}

  \item [sc:] \textsc{\alphabet}

  % \item [bf sc:] \textsc{\textbf\alphabet} missing in Didot

  \item [sf:] \textsf{\alphabet}

  \item [sf bf:] \textsf{\textbf\alphabet}

  \item [sf sl:] \textsf{\textsl\alphabet}

  \item [sf sc:] \textsf{\textsc\alphabet}

  \item [tt:] \texttt{\alphabet}
  
\end{description}

\end{document}
