[Tex/LaTex] Problem with greek letters in Computer Modern Unicode

computer-modernfontspecgreekpolyglossia

I've tried to use Computer Modern Unicode (version 0.7.0) with XeLaTeX to write greek letters.

However, using the following code in TeXLive 2012 or 2014, the shapes of "βγλθωχ" seem different with those provided in the document http://canopus.iacp.dvo.ru/~panov/cm-unicode/cmunrm.pdf

\documentclass{article}
\usepackage{fontspec}
\setmainfont{CMU Serif}
\begin{document}
βγλθωχ
\end{document}

enter image description here

Bottom: greek letters provided in the document

But I got the shapes same with those in the document, using the following code with polyglossia.

\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{greek}
\setmainfont{CMU Serif}
\begin{document}
βγλθωχ
\end{document}

I cannot figure what I am doing wrong.

Best Answer

I believe that if your system is set in a Latin locale, then fontspec automatically sets Script = Latin.

\documentclass{article}
\usepackage{fontspec}
\setmainfont[Script = Latin]{CMU Serif}
\begin{document}
βγλθωχ
\end{document}

enter image description here

The font CMU Serif is designed so that it automatically substitutes certain Greek glyphs with more "Latin looking" glyphs if the script is set to Latin.

As seen below, exactly the glyphs in your example are those that are substituted. The names of the substitutions reveal why. They end in .ipa, indicating that they are to be used in IPA transcriptions. This substitution is highly appropriate, and reveals a good font design. Greek glyphs in IPA transcriptions will be interspersed among Latin letters, and Greek glyphs in that context should look more "Latin like".

enter image description here

To prevent this substitution, you can simply set the script to Greek.

\documentclass{article}
\usepackage{fontspec}
\setmainfont[Script = Greek]{CMU Serif}
\begin{document}
βγλθωχ
\end{document}

enter image description here

My conjecture is that you get the same effect by setting \setmainlanguage{greek} with polyglossia because this will automatically set Script = Greek, Language = Greek as fontspec options.