Also der Übeltäter für die Fehlermeldungen ist gefunden...
Es war
onehalfspacing.
Folgender Code funktioniert bei mir:
\RequirePackage{fix-cm}
\documentclass[fontsize=9.5pt, DIV=calc]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[paperwidth=170mm, paperheight=240mm, top=25mm, bottom=25mm, left=25mm, right=20mm, headsep=10mm, footskip=10mm]{geometry}
\usepackage{setspace}
\begin{document}
\setstretch{1.25}
\tableofcontents
\Blinddocument
\end{document}
Aber mit einer Warnung die noch übrig bleibt...
Using fallback calculation to setup font sizes for basic size '9.5pt' on input line 1655
Ich habe aber eine Alternative gefunden mit der man es ebenfalls schafft die Schriftgröße auf 9.5pt zu setzen, hier mal der der Code:
\documentclass[fontsize=9pt, DIV=calc]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[paperwidth=170mm, paperheight=240mm, top=25mm, bottom=25mm, left=25mm, right=20mm, headsep=10mm, footskip=10mm]{geometry}
\usepackage[onehalfspacing]{setspace}
\makeatletter
\renewcommand\normalsize{\@setfontsize\normalsize{9.5pt}{11.4pt}}
\makeatother
\begin{document}
\tableofcontents
\Blinddocument
\end{document}
Hier gibt es keine Fehler oder Warnungen. Allerdings muss gesagt werden dass hier zuerst die Schriftgröße auf 9pt gesetzt wird, d.h. Latex rechnet für die Schriftgröße tiny, small, large, huge, usw... eine passenden Wert mit der Basis normalsize=9pt. Sprich large is dann z.B. 12pt (wie genau das von Latex berechnet wird weiß ich nicht).
Nachträglich wird aber normalsize auf 9.5pt gesetzt. Alle anderen Größen verhalten sich immer noch so als wäre normalsize 9pt.
Wenn einem die Größe nicht passen sollte kann er eigentlich auch diese anpassen:
\renewcommand\tiny{\@setfontsize\tiny{Xpt}{Ypt}}
\renewcommand\scriptsize{\@setfontsize\scriptsize{Xpt}{Ypt}}
\renewcommand\footnotesize{\@setfontsize\footnotesize{Xpt}{Ypt}}
\renewcommand\small{\@setfontsize\small{Xpt}{Ypt}}
\renewcommand\large{\@setfontsize\large{Xpt}{Ypt}}
\renewcommand\Large{\@setfontsize\Large{xpt}{Ypt}}
\renewcommand\LARGE{\@setfontsize\LARGE{Xpt}{Ypt}}
\renewcommand\huge{\@setfontsize\huge{Xpt}{Ypt}}
\renewcommand\Huge{\@setfontsize\Huge{Xpt}{Ypt}}
Ich bin kein Latex Profi und kann leider nicht sagen welche Variante die "bessere" ist. Eventuell kann der Eine oder Andere mal zu diesen Varianten seine Meinung abgeben.
Danke!