
Thanks for the solution. Using absolute values in headings can solve the problem of font size changes when font switches. But in the text, it still exists. I found a [\switchstyleonly] in the source file via the [\usebodyfont] you mentioned. So, why don't we have a [\switchclassonly]. Maybe I'm not right? I'm currently using a cumbersome way to define a new command. But I'm not sure if this will cause some side effects that I don't know about. %%%%% tolerantdefswitchonlyclass[#1]% {edefprevstyle{fontstyle}% scratchcounterglyphscale switchtobodyfont[#1]% glyphscalescratchcounter} %%%%% Font fallback does solve part of the problem. But when this bilingual document is in Chinese and Japanese, there's nothing the font fallback can do. Because they all use almost the same Hanzi characters, but differ in glyphs, we have to switch between different fonts. Maybe we can extend the functionality of language. For example, when switching languages, switch the script, switch the font, switch the indentation, switch the line spacing, and switch the paragraph spacing. This can be helpful for bilingual documentation.