\documentclass[dvipdfmx,a4paper]{jlreq}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{jlreq-deluxe}
\usepackage[haranoaji]{pxchfon}
\usepackage[colorlinks,implicit=false]{hyperref}
\usepackage{pxjahyper}
\usepackage{bxghost}
\usepackage{bxtexlogo}
\bxtexlogoimport{*,**}
\usepackage{shortvrb}
\MakeShortVerb{\|}
\newcommand{\pkg}[1]{\textsf{#1}}
\newcommand{\cls}[1]{\textsf{#1}}
\newcommand{\cmd}[1]{\eghostguarded{\texttt{\symbol{92}#1}}}
\newcommand{\meta}[1]{$\langle$\nobreak\hspace{0pt}#1\nobreak\hspace{0pt}$\rangle$}


\title{\pkg{jlreq-deluxe}パッケージ}
\author{Yukimasa Morimi (h20y6m)\thanks{\url{https://github.com/h20y6m}}}
\date{2026-03-14}

\begin{document}

\maketitle


\section{概要}

\pLaTeX 及び\upLaTeX で\cls{jlreq}クラス\footnote{\url{https://www.ctan.org/pkg/jlreq}}%
を使用する場合に和文を多書体（多ウェイト）にする機能を提供する。

\cls{jlreq}クラスではJLReq\footnote{W3C「日本語組版処理の要件」（\url{https://www.w3.org/TR/jlreq/?lang=ja}）}に従った
組版を実現するために独自の和文VFを用いている。
このため、多書体（多ウェイト）にしようと\pkg{japanese-otf}パッケージ
\footnote{\url{https://www.ctan.org/pkg/japanese-otf}}を利用すると
和文VFが置き換わってしまい、\pkg{jlreq}クラスの意図する組版が得られなくなってしまう。

このパッケージでは\cls{jlreq}クラスの提供する和文VFを元に\pkg{japanese-otf}に合わせた
和文VFを提供し、さらに、\pkg{pxjodel}パッケージ
\footnote{\url{https://www.ctan.org/pkg/pxjodel}}を利用した和文VF置き換え機能を提供する。


\section{前提条件}

\begin{itemize}
\item \TeX フォーマット：\LaTeX
\item \TeX エンジン：\pTeX 及び\upTeX
\item DVIウェア：和文VFのfallback機能をサポートするもの
  \begin{itemize}
  \item dvipdfmx Version 20200315以降
  \item dvips(k) 2021.1以降
  \item dvisvgm 2.11以降
  \end{itemize}
\item 前提パッケージ：
  \begin{itemize}
  \item \pkg{pxjodel}パッケージ
  \end{itemize}
\end{itemize}


\section{使用方法}

通常のパッケージと同様に\cmd{usepackage}で読み込む。

\begin{quote}
\begin{verbatim}
\usepackage[オプション]{jlreq-deluxe}
\end{verbatim}
\end{quote}

基本的に\cls{jlreq}クラスとともに使用することを想定しているが、
他のクラスでも使用することは出来る。


\section{オプション}

基本的に\pkg{otf}パッケージのと同じオプションが使用できるが、
以下のオプションは動作が異なる。

\begin{itemize}
\item |deluxe|\\
  既定で有効になる。
  無効にしたい場合は|deluxe=false|を指定する。
\item |burasage|\\
  使用できない。
  ぶら下げ組みを行いたい場合は|hanging_punctuation|オプションを使用する。
\item |jis2004|\\
  既定で有効になる。
  無効にしたい場合は|jis2004=false|/|nojis2004|を指定する。
\item |platex|/|uplatex|\\
  \cls{jlreq}クラスを使用している場合は自動的に設定される。
\item |scale|\\
  \cls{jlreq}クラスを使用している場合は自動的に設定され指定は無視される。
\end{itemize}

また以下のオプションが使用できる。

\begin{itemize}
\item |nojis2004|\\
  |jis2004|オプションの否定、|jis2004=false|と等価。
\item |hanging_punctuation|\\
  \cls{jlreq}クラスの|hanging_punctuation|オプションに対応するVFを使用する。
  \cls{jlreq}クラスを使用している場合は自動的に設定され指定は無視される。
\item |zenkakunibu_nibu|\\
  \cls{jlreq}クラスの|open_bracket_pos=zenkakunibu_nibu|オプションに対応するVFを使用する。
  \cls{jlreq}クラスを使用している場合は自動的に設定され指定は無視される。
\end{itemize}


\section{\pkg{pxchfon}パッケージとの併用}

\pkg{pxchfon}パッケージを用いることで、(u)\pLaTeX{}+\DVIPDFMx{}環境において標準の和文フォントを指定できる。
本パッケージを使用している場合でも、基本的には\pkg{pxchfon}パッケージによる和文フォント指定機能は利用できる。

ただし、\pkg{pxchfon}パッケージの|unicode|オプション（あるいはそれが有効になるプリセットオプション）を使用した場合には、
本パッケージでは提供していない追加の和文VFが必要になるため、そのままでは使用できない。

\pkg{pxchfon}パッケージの|unicode|オプションと併用する方法については、
以下のTeX Forumのディスカッション、および「某ZR氏」による解説記事が参考になる。
\begin{itemize}
\item \href{https://okumuralab.org/tex/mod/forum/discuss.php?d=3993}%
        {QA: upLaTeX下のjlreq-deluxeで多書体化するとpxchfonでフォント変更ができない \string| TeX}%
\item \href{https://zrbabbler.hatenablog.com/entry/2025/09/07/175419}%
        {jlreqしてjlreq-deluxeしてpxchfonしてunicodeする方法 - マクロツイーター}%
\end{itemize}

また、本パッケージの開発リポジトリにある和文VF生成スクリプトには、
これらの追加の和文VFを実験的に生成する機能が実装されている。
以下のコマンドにより、必要な追加のフォントを生成できる。
\begin{quote}
\begin{verbatim}
$ python3 scripts/jlreq-deluxe-generator --ufont
\end{verbatim}
\end{quote}

\end{document}
