On Wed, Sep 25, 2013 at 9:54 PM, Lars Huttar
And is the answer that the bodyfont is a conglomerate of more properties than just the font, including interlinespace?
You can read font-ini.mkvi : %D \macros %D {setupbodyfont,switchtobodyfont} %D %D The next two macros are user ones. With \type{\setupbodyfont} %D one can set the document bodyfont size, font family, style %D and/or options defined in files, for example: %D %D \starttyping %D \setupbodyfont[modern,12pt,roman] %D \stoptyping %D %D This command affects the document as a whole: text, headers %D and footers. The second macro however affects only the text: %D %D \starttyping %D \switchtobodyfont[10pt] %D \stoptyping %D %D So we've got: %D %D \showsetup{setupbodyfont} %D \showsetup{switchtobodyfont} %D %D Both macros look alike. The second one also has to take %D all kind of keywords into account. If you follow switchtobodyfont you can see unexpanded\def\font_basics_switchtobodyfont#specification% {\edef\m_font_step{\bodyfontvariable{#specification}}% \ifx\m_font_step\empty \font_helpers_set_font\zerocount{#specification}% \else \font_helpers_switch_bodyfont_step % so we have a fast [small] switch \fi \the\everybodyfont \the\everyswitchtobodyfont} \unexpanded\def\switchtobodyfont[#specification]% could become an ifx {\doifsomething{#specification}{\font_basics_switchtobodyfont{#specification}}} The token register \everybodyfont and \everyswitchtobodyfont take care for spaces: (still in font-ini.mkvi) %D {everybodyfont,Everybodyfont,everyglobalbodyfont} %D %D Every change in bodyfont size has conseqences for the baseline %D distance and skips between paragraphs. These are initialized %D in other modules. Here we only provide the hooks that %D garantees their handling. %D At the system level one can initialize thing like: %D %D \starttyping %D \appendtoks \setupspacing \to \everybodyfont %D \stoptyping In core-def.mkiv \appendtoks \synchronizelocallinespecs \to \everyswitchtobodyfont while spac-ver.mkiv \unexpanded\def\synchronizelocallinespecs {\bodyfontlineheight \normallineheight \bodyfontstrutheight\strutheight \bodyfontstrutdepth \strutdepth} -- luigi