[Tex/LaTex] Set italic text failed in new command definition

italicmacros

I'm defining new commands in my .tex file. Here's my code:

\newcommand{\subhead}[1]
  {
    {\itshape \flushright \subheadfont --#1 \par}
  }

I'm going to define a command that make some text(from parameter) as a standalone subhead of certain article in a book. However, the parameter text in this command turns out not italic. What's the problem and how can I fix it?

Thanks~

Some supplement:
It maybe helpful to write down entire document I wrote:

\documentclass{book}
\usepackage{fontspec} %Use Chinese fonts
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt
\setmainfont{Microsoft YaHei}
\newfontfamily\subheadfont{FZLiShu-S01S} %Define '\subheadfont'
\newcommand{\subhead}[1]{{\itshape \flushright \subheadfont --#1 \par}}

\begin{document}
\chapter{My Article}
\subhead{This is 副标题}
Some content in the article. 一些中文内容。
\end{document}

Best Answer

The package xeCJK provides AutoFakeSlant option. There is also AutoFakeBold. I do not have the font you called, so I will illustrate this by Arial Unicode MS.

Notice that latin letters are typeset in Latin Modern since \setCJKmainfont and \newCJKfontfamily affect only ideographs.

\documentclass{book}
\usepackage{xeCJK} %Use Chinese fonts
\setCJKmainfont{Arial Unicode MS}
\newCJKfontfamily\subheadfont[AutoFakeSlant]{Arial Unicode MS} %Define '\subheadfont'
\newcommand{\subhead}[1]{{\itshape \flushright \subheadfont --#1 \par}}

\begin{document}
\chapter{My Article}
\subhead{This is 副标题}
Some content in the article. 一些中文内容。
\end{document}
Related Question