BXjsclsを使ったXeLaTeXのときだけparagraphの前にblacksquareが現れない

BXjsclsを使ったXeLaTeXのときだけparagraphの前にblacksquareが現れない

- asa nori の投稿
返信数: 2
こんにちは

jsarticleクラスを使った文書をbxjsarticleに変更をしている際に気づいたのですが、XeLaTeXを使った時だけparagraphの前にblacksquare(■)が現れません。

upLaTeXとLuaLaTeXでは現れます。

ソースはこちら

% 文字コードは UTF-8
\documentclass[a4paper,xelatex,ja=standard]{bxjsarticle}
%\documentclass[a4paper,uplatex,ja=standard]{bxjsarticle}
%\documentclass[a4paper,lualatex,ja=standard]{bxjsarticle}
\begin{document}
\paragraph{paragraphの前にblacksquareが出ない}
\end{document}

環境は、

Ubuntu 14.04LTS

TeX Live 2015
XeTeX 3.14159265-2.6-0.99992

BXjscls(bxjsarticle)は
2015/09/07 v1.0b BXJS document classes
を使用しています。


asa nori への返信

Re: BXjsclsを使ったXeLaTeXのときだけparagraphの前にblacksquareが現れない

- Z. R. の投稿

日本語処理を行う zxjatype パッケージ(の土台となっている xeCJK パッケージ)においては〈■〉(U+25A0) が既定で“欧文扱い”になっています。(LuaTeX-ja では和文扱い。)そして既定の欧文フォント(Latin Modern)は〈■〉の字形を持っていないために出力されない、という状況になっています。

根本的な対策は検討中ですが、取りあえず以下のようにして対処できます。

  • 欧文フォントを〈■〉の字形を持つものにすると出力できます。
    \setsansfont{Liberation Sans}
    (ただしバランスはあまり良くないでしょう。)
  • xeCJK の命令を用いて文字〈■〉を和文扱いに変更すると出力できます。
    \xeCJKDeclareCharClass{CJK}{`■} 
Z. R. への返信

Re: BXjsclsを使ったXeLaTeXのときだけparagraphの前にblacksquareが現れない

- asa nori の投稿
Z. R.さん、

ありがとうございました

記載頂いた対処のいずれでもblack squareの出力が確認出来ました
たしかにバランスは、後者のほうがいいのでこちらで対応します