[Tex/LaTex] XeTeX, change font usage when meeting greek characters (Sabon Linotype / Sabon Greek)

fontsxetex

I love Sabon, and want to keep using it. However I'm running into a few problems when trying to use it with XeTeX.

Problem is that Sabon LT does not contain the full greek alphabet, it is in a separate Sabon Greek font. So when I have defined Sabon LT as standard font in my XeTeX document, no greek characters are rendered when I use them in my unicode document, logically.

I want to use the greek alphabet by typing directly in my unicode document, without using mathmode or anything else. Now I could merge Sabon LT with the Sabon Greek fontset using for example fontforge; creating a font that contains all missing characters. But I'm reluctant to do this as I don't have any experience with this and I'm afraid I might do something wrong

So is there a convenient way to do automatically do this in XeTeX?: Swith to the separate Sabon Greek font, in case it meets any of the greek characters? In LaTeX I would just define a new command, but I want to be able to use the greek font by typing in the appropiate character in Unicode directly.

All help is appreciated!

Best Answer

Short answer, No. Long answer, you have to markup your Greek text and use appropriate fonts, simplest way is using polyglossia:

\documentclass{article}
\usepackage{polyglossia}

\setmainlanguage{english}
\setotherlanguage{greek}
\setmainfont{Sabon LT}
\newfontfamily\greekfont[Script=Greek]{Sabon Greek}

\begin{document}
Some english text, \textgreek{καλημέρα}.

\begin{greek}
'Ολοι οι άνθρωποι γεννιούνται ελεύθεροι και ίσοι στην αξιοπρέπεια και τα δικαιώματα.
Είναι προικισμένοι με λογική και συνείδηση,
και οφείλουν να συμπεριφέρονται μεταξύ τους με πνεύμα αδελφοσύνης.
\end{greek}
\end{document}