Last active
March 8, 2023 14:30
-
-
Save h20y6m/14081d65a6e76fc17eb93030a9501f52 to your computer and use it in GitHub Desktop.
新しい upLaTeX で min10 してみるやつ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%#!uplatex | |
%% upLaTeX で min10 してみる | |
%% TeX Live 2023 以降の uplatex が必要 | |
% ---------------------------------------------------------------------- | |
% どうして uplatex じゃないの? | |
\ifnum\jis"2121="3000 \else | |
\typeout{Why not run `uplatex'?} | |
\fi | |
% |\font|の拡張と同時に追加された|\tojis|プリミティブをチェックする。 | |
\ifdefined\tojis\else | |
\typeout{Your `uplatex' too old!} | |
\expandafter\stop | |
\fi | |
% ---------------------------------------------------------------------- | |
\makeatletter | |
% \catcode`\[=12 | |
% \catcode`\]=12 | |
%% plfonts.dtx | |
% |\DeclareYokoKanjiEncoding|を拡張してオプション引数でJFMのエンコーディングを | |
% 指定できるようにしてみる。 | |
\def\DeclareYokoKanjiEncoding{\@ifnextchar[%] | |
{\DeclareYokoKanjiEncoding@i\DeclareYokoKanjiEncoding@ii}% | |
{\DeclareYokoKanjiEncoding@i\DeclareYokoKanjiEncoding@}} | |
% |\nfss@catcodes|の状態で引数が読まれるようにしないといけない。 | |
\def\DeclareYokoKanjiEncoding@i#1{% | |
\begingroup | |
\nfss@catcodes | |
\expandafter\endgroup | |
#1} | |
\def\DeclareYokoKanjiEncoding@ii[#1]#2#3#4{% | |
\DeclareYokoKanjiEncoding@{#2}{#3}{#4}% | |
\global\@namedef{jfontenc@#2}{#1}% | |
} | |
% |\DeclareTateKanjiEncoding|も同様 | |
\def\DeclareTateKanjiEncoding{\@ifnextchar[%] | |
{\DeclareTateKanjiEncoding@i\DeclareTateKanjiEncoding@ii}% | |
{\DeclareTateKanjiEncoding@i\DeclareTateKanjiEncoding@}} | |
\def\DeclareTateKanjiEncoding@i#1{% | |
\begingroup | |
\nfss@catcodes | |
\expandafter\endgroup | |
#1} | |
\def\DeclareTateKanjiEncoding@ii[#1]#2#3#4{% | |
\DeclareTateKanjiEncoding@{#2}{#3}{#4}% | |
\global\@namedef{jfontenc@#2}{#1}% | |
} | |
%% ltfssbas.dtx | |
%\def\define@newfont{% | |
% \begingroup | |
% \let\typeout\@font@info | |
% \escapechar\m@ne | |
% \expandafter\expandafter\expandafter | |
% \split@name\expandafter\string\font@name\@nil | |
% \try@load@fontshape % try always | |
% \expandafter\ifx | |
% \csname\curr@fontshape\endcsname \relax | |
% \wrong@fontshape\else | |
% \extract@font\fi | |
% \endgroup} | |
%% ltfsstrc.dtx | |
% |\extract@font|で|\font|が実行される。 | |
% |\f@encoding|に指定されているエンコーディングが|\DeclareYokoKanjiEncoding|、 | |
% |\DeclareTateKanjiEncoding|でJFMのエンコーディングが指定されたものだったときは、 | |
% |\font|に|in| <encodfing>を付加する。 | |
\def\extract@font{% | |
\get@external@font | |
\@ifundefined{jfontenc@\f@encoding}{% | |
\global\expandafter\font\font@name\external@font\relax | |
}{% | |
% |in| <encodfing>のスキャン時に展開が行われないことに注意。 | |
% 先に|\edef|でJFMのエンコーディング名を展開しておく。 | |
\edef\jfont@in@enc{\font in \@nameuse{jfontenc@\f@encoding}}% | |
\global\expandafter\jfont@in@enc\font@name\external@font\relax | |
}% | |
%<*trace> | |
% \ifnum \tracingfonts >\@ne | |
% \@font@info{External font `\external@font' | |
% loaded as\MessageBreak \font@name}\fi | |
%</trace> | |
\font@name \relax | |
\csname \f@encoding+\f@family\endcsname | |
\csname\curr@fontshape\endcsname | |
\relax | |
} | |
\makeatother | |
% ---------------------------------------------------------------------- | |
\ifnum\jis"2121="3000 | |
% plfonts.dtxを参考にJY1/JT1のフォントを定義する。 | |
% 横組エンコード: | |
% JFMのエンコーディングで|jis|を指定する | |
\DeclareYokoKanjiEncoding[jis]{JY1}{}{} | |
\DeclareKanjiSubstitution{JY1}{mc}{m}{n} | |
% 縦組エンコード: | |
% JFMのエンコーディングで|jis|を指定する | |
\DeclareTateKanjiEncoding[jis]{JT1}{}{} | |
\DeclareKanjiSubstitution{JT1}{mc}{m}{n} | |
% 縦横のエンコーディングのセット化: | |
\KanjiEncodingPair{JY1}{JT1} | |
% フォント属性のデフォルト値: | |
\renewcommand\kanjiencodingdefault{JY1} | |
% 和文エンコードの指定: | |
\kanjiencoding{JY1} | |
% フォント定義: | |
\input{jy1mc.fd} | |
\input{jy1gt.fd} | |
\input{jt1mc.fd} | |
\input{jt1gt.fd} | |
% フォントを有効にします。 | |
\fontencoding{JT1}\selectfont | |
\fontencoding{JY1}\selectfont | |
\fi | |
% ---------------------------------------------------------------------- | |
\documentclass{jarticle} | |
\usepackage{bxjalipsum} | |
\begin{document} | |
\section{ちょっとチェックしちゃった} | |
\jalipsum{wagahai} | |
\end{document} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment