fontdef.dtx defines the various series, family and style defaults using \newcommand, e.g. \newcommand\itdefault{it} \newcommand\sldefault{sl} \newcommand\scdefault{sc} \newcommand\updefault{up} This gives defines them as \long However, the commands \fontfamily, \fontseries and \fontshape define \f@family, \f@series and \f@shape using \edef which maked the resulting values not \long This means that code that would do something like, e.g., \ifx\f@shape\itdefaultā¦\fi will not work as expected. The simplest fix would be to use the starred form of \newcommand for setting the various \XXdefault values. I would imagine that this should not break anything -dh