-
polyglossia와 일본어TeX과 친구들 2020. 12. 23. 14:25
일본어 텍스트를 포함하는 문서를 만들어야 할 때, (일본어 사용자가 아닌) 레이텍 사용자에게 제일 선택지가 아마도 xeCJK 패키지일 것이다. 물론 문서에서 한국어가 제일 언어라면 kotex을 사용하는 것만으로 충분하다. 대부분의 경우, 한두 단락을 넘는 긴 텍스트가 아니라면, 그리고 언어들이 저마다 갖는 고유의 미묘한 타이포그래피를 무시해도 된다면, kotex을 쓰든 아니 쓰든 별로 문제 될 것이 없을 것이다. 하지만 아랍어나 히브리어 같은 RTL 언어를 일본어와 함께 식자해야 한다면 여러 가능한 조합들을 검토해야 한다.
xeCJK + bidi 조합도, xeCJK + polyglossia 조합도 기대한 결과를 만들었다. 하지만 xeCJK는 루아텍과 호환되지 않는다는 문제가 있다. 루아 스크립트를 써야 할 불가피한 사정이 있다면 남은 대안은 polyglossia만을 사용하는 것이다. 문제는 gloss-japanese.ldf가 충분히 정교하게 설계되지 않아서 줄나눔이 일어나지 않는다는 것이다. 간단한 해법은 japanese 환경에 \XeTeXlinebreaklocale "ja"를 추가하는 것인데, 이 역시 지텍과만 쓸 수 있는 것이어서 해법이 아니다.
김도현 교수님이 제시한 해법은 \xpg@attr@korean을 이용하는 것이다. 이것은 gloss-korean.ldf에 정의되어 있다. 이것을 사용한다 함은 한국어 식자가 필요하지 않아도 한국어 모듈을 호출해야 한다는 뜻이다.
\documentclass[a4paper]{article}
\usepackage{fontspec}
% xeCJK + bidi
% \usepackage{xeCJK}
% \setCJKmainfont{Noto Serif CJK JP}[Language=Japanese,Script=Kana]
% \punctstyle{fullwidth}
% \usepackage{bidi}
% \newfontfamily\arabicfont{Noto Naskh Arabic}[Script=Arabic]
% \newenvironment{Arabic}{\setRTL\arabicfont}{}
% xeCJK + polyglossia
% \usepackage{xeCJK}
% \setCJKmainfont{Noto Serif CJK JP}[Language=Japanese,Script=Kana]
% \punctstyle{fullwidth}
% \usepackage{polyglossia}
% \setdefaultlanguage{english}
% \setotherlanguage{arabic}
% \newfontfamily\arabicfont{Noto Naskh Arabic}[Script=Arabic]
\usepackage{etoolbox}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguages{arabic, japanese, korean} % 한국어 모듈 부르기
\newfontfamily\arabicfont{Noto Naskh Arabic}[Script=Arabic]
\newfontfamily\japanesefont{Noto Serif CJK JP}[Language=Japanese,Script=Kana]
\ifdefined\directlua %루아텍을 쓸 때는 이렇게
\makeatletter
\AtBeginEnvironment{japanese}{\xpg@attr@korean\@ne \endlinechar\m@ne}
\makeatother
\else %지텍을 쓸 때는 이렇게
\AtBeginEnvironment{japanese}{\XeTeXlinebreaklocale "ja"}
\fi
\begin{document}
\begin{japanese}
ハネウェルAnalyticsは、本機器の運用寿命の期間、通常の使用及びサービスの下で、製品に材料および製造上の欠陥がないことを保証します。
この保証は最初の購入者に新しい、未使用の製品の販売にまで及びます。
ハネウェルAnalyticsの保証義務は制限されています。ハネウェルAnalyticsのオプションで、購入代金の払い戻し、 保証期間内にハネウェルAnalytics認定サービスセンターに返送された欠陥製品の修理または交換です。
いかなる場合においても、以下のハネウェルAnalyticsの責任は、実際に製品のバイヤーが支払った購入価格を超えません。
\end{japanese}
\begin{Arabic}
احتفظ بهذا الدليل للاستخدام في المستقبل.
احتفظ بهذا الدليل للاستخدام في المستقبل.
احتفظ بهذا الدليل للاستخدام في المستقبل.
\end{Arabic}
\end{document}'TeX과 친구들' 카테고리의 다른 글
이미지 경로 정하기 (2) 2020.12.28 편집 디자인 (0) 2020.12.23 tcolorbox가 페이지 하단에 걸릴 때 (0) 2020.11.11 Graphviz (0) 2020.10.05 부 (part) 차례 만들기 (0) 2020.09.03