> Alan Bowen > 2. Oktober 2017 um 14:04 > I need to substitute the regular and italic characters of a > publisher’s non-math font (Unicode) for those in a math font. > > The non-math addresses are: > 0041-005A, 0061-007A %italic uppercase and lowercase > 0391-03A9, 03B1-03C9 %slanted Greek uppercase and lowercase > > The math addresses are: > 1D434-1D44D, 1D44E-1D467 %italic uppercase and lowercase > 1D6E2-1D6FA, 1D6FC-1D714 %slanted Greek uppercase and lowercase > > Is there a way to use the \definefallbackfamily mechanism that does > not assume that the characters have the same Unicode addresses? Or is > some other approach required? The fallback mechanism provides a offset key which lets you replace a math character with a normal text character. \definefontfamily [mainface] [ss] [TeX Gyre Heros] \definefallbackfamily [mainface] [mm] [TeX Gyre Heros] [preset=math:lowercasenormal] \definefallbackfamily [mainface] [mm] [TeX Gyre Heros] [preset=math:lowercaseitalic] \definefallbackfamily [mainface] [mm] [TeX Gyre Heros] [tf=style:italic,range=0x68,offset=0x210E]% lowercase italic h \definefallbackfamily [mainface] [mm] [TeX Gyre Heros] [preset=math:lowercasebold] \definefallbackfamily [mainface] [mm] [TeX Gyre Heros] [preset=math:uppercasenormal] \definefallbackfamily [mainface] [mm] [TeX Gyre Heros] [preset=math:uppercaseitalic] \definefallbackfamily [mainface] [mm] [TeX Gyre Heros] [preset=math:uppercasebold] \definefontfamily [mainface] [mm] [TeX Gyre Pagella Math] \starttext \setupbodyfont[pagella] Lowercase: $ {\tf abc} {\it abc} {\bf abc} $ Uppercase: $ {\tf ABC} {\it ABC} {\bf ABC} $ \setupbodyfont[mainface] Lowercase: $ {\tf abc} {\it abch} {\bf abc} $ Uppercase: $ {\tf ABC} {\it ABC} {\bf ABC} $ \stoptext Wolfgang