OSDN Git Service

readme
[luatex-ja/luatexja.git] / test / test51-vtest.tex
index 62d6379..e20bc90 100644 (file)
@@ -1,8 +1,10 @@
-%#!luatex
+%#!luajittex
 
+\directlua{luatexja_debug = 1}
 \input luatexja.sty
 %\input lua-visual-debug.sty
 
+
 \catcode`\@=11
 \newdimen\@tempdima
 \newbox\@tempboxa
                           }%
         }%
 }
+\protected\def\LaTeX{L\kern-.36em%
+        {\setbox\z@\hbox{T}
+         \vbox to\ht\z@{\hbox{\sevenrm A}%
+                        \vss}%
+        }%
+        \kern-.15em%
+        \TeX}
+
+\tentgt\hfuzz10000pt\relax\vfuzz10000pt
+
+\def\H{\vrule width 2pt height 10pt depth 0pt%
+\vrule width 4pt height 0pt depth 4pt}
 
+\message{^^JTATE, DTOU, UTOD IN YOKO (HMODE))^^J}
+\yoko
 \hbox{\yoko
-横水平Hxy\hbox{\yoko 横水平Hxy}かき◆
-\hbox{\tate 縦水平Hxy}◆おおおお
-\vbox{\yoko\hsize=30mm 横垂直Hxyああああああああああ}かき◆
-\vbox{\tate\hsize=30mm  縦垂直Hxy\hfill ああ\break ああああああああ}◆ああああ
+  横水平\H\vrule\hbox{\yoko 横水平\H }\vrule かき◆
+  \vrule\hbox{\tate 縦水平\H }\message{HOGE}◆おおおお\vrule
+  \vbox{\yoko\hsize=30mm 横垂直\H ああああああああああ\hfill\H}かき◆%
+  \vrule
+  \vbox{\tate\hsize=30mm 縦垂直\H ああああああああああ\hfill\H}%
+  \vrule ◆ああああ
 }
+\hbox{\yoko\vrule
+  横水平\H\vrule\hbox{\dtou 下水平\H }\vrule ◆おおおお
+  \H\vrule
+  \vbox{\dtou\hsize=30mm 下垂直\H ああああああああああ\hfill\H}%
+  \vrule かき◆
+}
+\hbox{\yoko\vrule
+  横水平\H\vrule\hbox{\utod 上水平\H }\vrule ◆おおおお
+  \H\vrule
+  \vbox{\utod\hsize=30mm 上垂直\H ああああああああああ\hfill\H}%
+  \vrule かき◆
+}
+\hbox{\yoko
+  ああ\setbox0=\vtop{\yoko\hsize=30mm \ifhmode\message{H}\else\message{V}\fi 横垂直\H ああああああああああ\hfill\H}%
+%  {\tracingonline1\showboxdepth2\showboxbreadth100\showbox0}%
+  かき◆\copy0 ◆
+}
+
 \vfill\eject
+
+\message{^^JYOKO, DTOU, UTOD IN TATE (HMODE)^^J}
+\leavevmode
 \hbox{\tate
-縦水平Hxy\hbox{\yoko 横水平Hxy}かき◆
-\hbox{\tate 縦水平Hxy}◆おおおお
-\vbox{\yoko\hsize=30mm 横垂直Hxyああああああああああ}かき◆
-\vbox{\tate\hsize=30mm  縦垂直Hxy\hfill ああ\break ああああああああ}◆ああああ
+縦水平\H\vrule \hbox{\yoko 横水平\H }\vrule かき◆\vrule
+\hbox{\tate 縦水平\H }\vrule◆おおおお\H\vrule
+\vbox{\yoko\hsize=30mm 横垂直\H ああああああああああ\hfill\H}\vrule
+かき◆\H\vrule
+\vbox{\tate\hsize=30mm 縦垂直\H ああああああああああ\hfill\H}\vrule
+◆ああああ}
+\hbox{\tate
+縦水平\H\vrule\hbox{\dtou 下水平\H }\vrule ◆おおおお\H\vrule
+\vbox{\dtou\hsize=30mm 下垂直\H ああああああああああ\hfill\H}%
+\vrule\H ◆ああああ}
+\hbox{\tate
+縦水平\H\vrule\hbox{\utod 上水平\H }\vrule ◆おおおお\H\vrule
+\vbox{\utod\hsize=30mm 上垂直\H ああああああああああ\hfill\H}%
+\vrule\H ◆ああああ}
+
+\vfill\eject
+\message{^^JYOKO, TATE, DTOU,IN UTOD (HMODE)^^J}
+\leavevmode
+\hbox{\utod
+上水平\H\vrule \hbox{\yoko 横水平\H }\vrule かき◆\vrule
+\hbox{\tate 縦水平\H }\vrule◆おおおお\H\vrule
+\vbox{\yoko\hsize=30mm 横垂直\H ああああああああああ\hfill\H}\vrule
+かき◆\H\vrule
+\vbox{\tate\hsize=30mm 縦垂直\H ああああああああああ\hfill\H}\vrule
+◆ああああ}
+\hbox{\utod
+上水平\H\vrule\hbox{\dtou 下水平\H }\vrule ◆おおおお\H\vrule
+\vbox{\dtou\hsize=30mm 下垂直\H ああああああああああ\hfill\H}%
+\vrule\H ◆ああああ}
+\hbox{\utod
+上水平\H\vrule\hbox{\utod 上水平\H }\vrule ◆おおおお\H\vrule
+\vbox{\utod\hsize=30mm 上垂直\H ああああああああああ\hfill\H}%
+\vrule\H ◆ああああ}
+
+\vfill\eject
+
+
+\message{^^JYOKO, TATE, UTOD IN DTOU (HMODE)^^J}
+\leavevmode
+\hbox{\dtou
+下水平\H\vrule\hbox{\yoko 横水平\H }\vrule かき◆\H\vrule
+\hbox{\tate 縦水平\H }\vrule ◆おおおお\H\vrule
+\vbox{\yoko\hsize=30mm 横垂直\H ああああああああああ\hfill\H}%
+\vrule かき◆あおう\H\vrule
+\vbox{\tate\hsize=30mm 縦垂直\H ああああああああああ\hfill\H}%
+\vrule ◆ああああ
 }
+\hbox{\dtou
+下水平\H\vrule\hbox{\dtou 下水平\H }\vrule◆おおおお\vrule
+\vbox{\dtou\hsize=30mm 下垂直\H ああああああああああ\hfill\H}%
+\vrule ◆ああああ}
+\hbox{\dtou
+下水平\H\vrule\hbox{\utod 上水平\H }\vrule◆おおおお\vrule
+\vbox{\utod\hsize=30mm 上垂直\H ああああああああああ\hfill\H}%
+\vrule ◆ああああ}
+
 
 \vfill\eject
 
 
+\message{^^JTATE, DTOU IN YOKO (VMODE)^^J}
 \setbox0=\vbox{\yoko\hsize=100mm
-横垂直Hxy\hbox{\yoko 横水平Hxy}かき◆
-これは,意味のないサンプルテキストです.
-\hbox{\tate 縦水平Hxy}◆おおおお
+横垂直\H\vrule \hbox{\yoko 横水平\H }\vrule\H かき◆
 これは,意味のないサンプルテキストです.
-\vbox{\yoko\hsize=50mm 横垂直Hxyあああああああああああああああああああ}かき◆
+\vrule\hbox{\tate 縦水平\H }\vrule\H おおおお
+これは,意味のないサンプルテキストです.\vrule
+\vbox{\yoko\hsize=50mm 横垂直\H ああああああああああ%
+  あああああああああ\hfill\H}%
+\vrule\H かき◆
+これは,意味のないサンプルテキストです.\vrule
+\vbox{\tate\hsize=50mm 縦垂直\H ああああああああああ%
+  あああああああああ\hfill\H}%
+\vrule\H ◆ああああ
+これは,意味のないサンプルテキストです.\vrule
+\hbox{\dtou 下水平\H }\vrule\H おおおお
 これは,意味のないサンプルテキストです.
-\vbox{\tate\hsize=50mm 縦垂直Hxyあああああああああああああああああああ}◆ああああ
-これは,意味のないサンプルテキスト\hbox{\tate 縦水平Hxy}◆おおおおです.
+\vrule\vbox{\dtou\hsize=50mm 下垂直\H ああああああああああ%
+  あああああああああ\hfill\H}%
+\vrule\H これは,意味のないサンプルテキストです.
 }
 \copy0
-%{\showboxbreadth10000\showboxdepth10000
-%\showbox0}
-
 \vfill\eject
+
+\message{^^JYOKO, DTOU IN TATE (VMODE)^^J}
 \vbox{\tate\hsize=100mm
-縦垂直Hxy\hbox{\yoko 横水平Hxy}かき◆
+縦垂直\H\vrule\hbox{\yoko 横水平\H }\vrule\H かき◆
+これは,意味のないサンプルテキストです.
+\vrule\hbox{\tate 縦水平\H }\vrule\H おおおお
+これは,意味のないサンプルテキストです.\vrule
+\vbox{\yoko\hsize=50mm 横垂直\H ああああああああああ%
+  あああああああああ\hfill\H}%
+\vrule\H かき◆
+これは,意味のないサンプルテキストです.\vrule
+\vbox{\tate\hsize=50mm 縦垂直\H ああああああああああ%
+  あああああああああ\hfill\H}%
+\vrule\H ◆ああああ
+これは,意味のないサンプルテキストです.\vrule
+\hbox{\dtou 下水平\H }\vrule\H おおおお
 これは,意味のないサンプルテキストです.
-\hbox{\tate 縦水平Hxy}◆おおおお
+\vrule\vbox{\dtou\hsize=50mm 下垂直\H ああああああああああ%
+  あああああああああ\hfill\H}%
+\vrule\H これは,意味のないサンプルテキストです.
+}
+\vfill\eject
+
+\message{^^JYOKO, TATE IN DTOU (VMODE)^^J}
+\vbox{\dtou\hsize=100mm
+下垂直\H\vrule\hbox{\yoko 横水平\H }\vrule\H かき◆
 これは,意味のないサンプルテキストです.
-\vbox{\yoko\hsize=50mm 横垂直Hxyあああああああああああああああああああ}かき◆
+\vrule\hbox{\tate 縦水平\H }\vrule\H おおおお
+これは,意味のないサンプルテキストです.\vrule
+\vbox{\yoko\hsize=50mm 横垂直\H ああああああああああ%
+  あああああああああ\hfill\H}%
+\vrule\H かき◆
+これは,意味のないサンプルテキストです.\vrule
+\vbox{\tate\hsize=50mm 縦垂直\H ああああああああああ%
+  あああああああああ\hfill\H}%
+\vrule\H ◆ああああ
+これは,意味のないサンプルテキストです.\vrule
+\hbox{\dtou 下水平\H }\vrule\H おおおお
 これは,意味のないサンプルテキストです.
-\vbox{\tate\hsize=50mm  縦垂直Hxyあああああああああああああああああああ}◆ああああ
-これは,意味のないサンプルテキスト\hbox{\tate 縦水平Hxy}◆おおおお
-です.
+\vrule\vbox{\dtou\hsize=50mm 下垂直\H ああああああああああ%
+  あああああああああ\hfill\H}%
+\vrule\H これは,意味のないサンプルテキストです.
 }
 
-\end
+\vfill\eject
+
+\vbox{\tate\hsize100mm
+\tfont\f=[KozMinPr6N-Regular.otf]:jfm=ujisv \f
+
+\ltjsetparameter{yalbaselineshift=.25em}\baselineskip15pt\parindent\zw
+\LaTeX の特徴として、テキストファイルであるソースコードを入力として処理することでDVIや
+PDFなどの表示形式を出力として得ることが挙げられる。
+
+\LaTeX の最大の長所は、\TeX に由来する高品質で自由度の高い組版処理能力である。組版処理能力
+は一般向けの出版物の作成にも充分に耐えられるものであり、実際の出版例もある。
+中でも数式組版の品質が高い。さらに、数式専用の命令文(コマンド)が用意されているので、
+単純なソースコードで高品質な数式表示を得られる。そのため、数式を多く含む自然科学系や工学系
+の出版物などでは、\LaTeX 形式での投稿が標準的なフォーマットとされていることも多い。
+
+くわえて、ソースコードに詳細な設定を記述することで、文書のスタイル(表示形式、見栄え、たと
+えばレイアウトやフォントなど)を自在に調節できる。また、ソースコード上で文書内容・文書構造
+(章・節・段落や強調箇所など)と文書スタイルの設定との分離が可能である。そのため、同一文書
+内で終始一貫したスタイをル保つことができる。また、同じ文書内容でレイアウトやフォントだけを
+変えることができるなど、文書内容データの再利用性が高い。一度スタイル設定を決めてしまえば、
+あとは文書内容の記述に専念することができるという利点もある。論文などの投稿では、学術雑
+誌のスタイルを記述したファイル(パッケージファイル)を Web からダウンロードして利用するこ
+とで、統一されたスタイルで論文を投稿することができ、論文の投稿者と雑誌の編集者とのやり取り
+を簡略化できる。Kile、TeXShop、TeXworks、EasyTeX、WinShell などの \TeX 用エ
+ディタや、野鳥(やてふ、YaTeX)、TeXlipse、KaTeX(花鳥、かてふ)、祝鳥
+(のりてふ)、M's TeX Helper 2など の\TeX 用テキストエディタマクロを兼用することに
+よって、より効率的な文章作成が可能ともなる。またMapleやMathematicaなどでドキュメントを
+作成し、\TeX 形式で出力することも可能である。
+
+\null\hfill
+(Wikipediaの「\LaTeX」の記事より.8/13現在)
+
+左⇦⇧⇩⇨⬅⬆⬇➡右
+}
+
+\message{^^Jget/set box dimension^^J}
+
+\def\\{\hfill\break}
+\setbox12288=\hbox{%
+  \tate\ltjsetparameter{talbaselineshift=0pt}Htp}
+縦ボックス\hbox{\vrule\copy12288\vrule}寸法\quad
+\vbox{\hsize=80pt\yoko\noindent
+  WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288%
+}
+\vbox{\hsize=80pt\tate\noindent
+  WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288%
+}
+\ltjsetwd12288=100pt
+\setbox0=\hbox{\tate\ltjsetht12288=10pt}
+\vbox{\hsize=80pt\yoko\noindent
+  WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288%
+}
+\vbox{\hsize=80pt\tate\noindent
+  WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288%
+}
+
+
+
+\setbox12288=\hbox{%
+  \yoko\ltjsetparameter{yalbaselineshift=0pt}Htp}
+横ボックス\hbox{\vrule\copy12288\vrule}寸法\quad
+\vbox{\hsize=80pt\yoko\noindent
+  WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288%
+}
+\vbox{\hsize=80pt\tate\noindent
+  WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288%
+}
+\ltjsetwd12288=100pt
+\setbox0=\hbox{\tate\ltjsetht12288=10pt}
+\vbox{\hsize=80pt\yoko\noindent
+  WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288%
+}
+\vbox{\hsize=80pt\tate\noindent
+  WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288%
+}
+
+dimexpr でも使えるかな?\the \dimexpr2\ltjgetwd` +\ltjgetwd200+1pt\relax
+
+\vfill\eject
 
+\message{^^Jalign^^J}
+
+\parindent0pt
+\hrule width 40mm
+
+\hbox{\yoko\hsize40mm\baselineskip20pt 横水平
+\valign{A#\hfil&B#\hfil&C#\hfill\vrule\cr
+あいうえお&ABC&XYZ\cr
+abc&かきくけこ&xyz\cr}横水平}
+\moveright40mm\hbox{\vrule width 40mm height.4pt}
+
+\hbox{\tate\hsize40mm\baselineskip20pt 縦水平
+\valign{甲#\hfil&乙#\hfil&丙#\hfill\vrule\cr
+あいうえお&ABC&XYZ\cr
+abc&かきくけこ&xyz\cr}}%
+%\tracingonline\showboxdepth2\showboxbreadth1000\showlists}
+\moveright40mm\hbox{\vrule width 40mm height.4pt}
+
+\vfill\eject
+
+\vbox{\yoko\hsize40mm\baselineskip20pt  横垂直
+\halign{A#\hfil&B#\hfil&C#\hfill\vrule\cr
+あいうえお&ABC&XYZ\cr
+abc&かきくけこ&xyz\cr}}%
+\moveright40mm\hbox{\vrule width 40mm height.4pt}
+
+\vbox{\tate\baselineskip20pt  縦垂直
+\halign{甲#\hfil&乙#\hfil&丙#\hfill\vrule\cr
+あいうえお&ABC&XYZ\cr
+abc&かきくけこ&xyz\cr}}%
+\moveright40mm\hbox{\vrule width 40mm height.4pt}
+
+\vfill\eject
+
+\message{^^Jdir node^^J}
+\font\seventt=cmtt10 at 7pt
+\font\fivett=cmtt10 at 5pt
+
+\setbox0=\hbox{\yoko pF}
+\setbox1=\hbox{\tate\copy0}
+\fbox{\copy1}
+\setbox1=\copy0
+{\obeylines\seventt\baselineskip=10pt
+\directlua{luatexja.ext_show_node_list(tex.box[1], 'lastbox>   ', tex.print)}\par}
+\setbox0=\hbox{\yoko \ltjsetwd1=50pt}
+{\obeylines\seventt\baselineskip=10pt
+\directlua{luatexja.ext_show_node_list(tex.box[1], 'dir node1> ', tex.print)}\par}
+\setbox0=\hbox{\dtou \ltjsetwd1=2pt}
+{\obeylines\seventt\baselineskip=10pt
+\directlua{luatexja.ext_show_node_list(tex.box[1], 'dir node2> ', tex.print)}\par}
+
+\setbox0=\hbox{\yoko \ltjsetht1=30pt}
+{\obeylines\seventt\baselineskip=10pt
+\directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Yht> ', tex.print)}\par}
+
+\setbox0=\hbox{\tate \ltjsetwd1=50pt}
+{\obeylines\seventt\baselineskip=10pt
+\directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Twd> ', tex.print)}\par}
+
+\setbox0=\hbox{\utod \ltjsetht1=50pt}
+{\obeylines\seventt\baselineskip=10pt
+\directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Uht> ', tex.print)}\par}
+
+\setbox0=\hbox{\yoko \ltjsetht1=70pt}
+{\obeylines\seventt\baselineskip=10pt
+\directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Yht> ', tex.print)}\par}
+
+%% unwrap
+\setbox2=\hbox{\yoko \copy1}
+\setbox2=\hbox{\yoko \unhbox2\global\setbox1=\lastbox}
+{\obeylines\seventt
+\directlua{luatexja.ext_show_node_list(tex.box[1], 'unwrapped> ', tex.print)}}
+
+\setbox0=\hbox{\utod \ltjsetht1=50pt}
+{\obeylines\seventt\baselineskip=10pt
+\directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Uht> ', tex.print)}\par}
+
+
+
+\setbox0\hbox{\yoko a あ }\setbox1=\hbox{\tate\ltjsetht0=2pt}
+
+\fbox{\copy0}
+\vbox{\yoko\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
+\vbox{\tate\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
+\vbox{\dtou\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
+\vbox{\utod\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
+%
+\ltjsetwd0=40pt
+\setbox9\hbox{\utod \ltjsetdp0=10pt}
+\vbox{\yoko\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
+\vbox{\tate\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
+\vbox{\dtou\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
+\vbox{\utod\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
+
+\vfill\eject
+\message{^^Jothers^^J}
+
+
+p\kern-.15em\TeX\ bug (2011-02-24)
+\setbox0=\hbox{\tate a}\fbox{\copy0}%
+\hbox{\yoko\ltjsetht0=30pt
+\hbox{\dtou\dimen0=\ltjgetht0}
+\the\ltjgetht0}% OK. 30pt
+
+\def\R{012345678901234567890123456789}
+\vbox{\tate\hsize=4\zw\R\R\R\R}
+
+
+%\tracingall
+\def\showdir{\ifcase\ltjgetparameter{direction} %
+?\or D\or ?\or T\or Y\or ?\or ?\or?\or?\or?\or?\or U\fi}
+\showdir
+\hbox{\tate {\dtou 感じ\showdir}\showdir}
+\showdir
+
+
+\vbox{\tate\hsize=100mm
+日本語中に数式を打ってみる%
+$\ltjgetparameter{talbaselineshift}abc\hbox{にほんごABC\hbox{\tate たて\showdir}}\showdir$
+$$
+ \ltjgetparameter{talbaselineshift}abc\hbox{にほんごABC\hbox{\tate たて\showdir}}\showdir
+$$
+あいうえお}
+
+\vsize250mm
+\def\F#1{%
+\medskip
+\setbox0=\hbox{\csname #1\endcsname
+   \hbox{\yoko Y}\hbox{\tate T}\hbox{\dtou D}\hbox{\utod U}}
+{\obeylines\fivett\baselineskip=7pt
+\directlua{luatexja.ext_show_node_list(tex.box[0], 'hbox #1> ', tex.print)}\par}}
+
+\F{yoko}
+\F{tate}
+\F{dtou}
+\F{utod}
+
+\hbox{\inhibitglue\tate}
+\hbox{\ltjsetparameter{kanjiskip=0pt}\tate}
+
+\leavevmode\hbox{A}%
+\setbox0\hbox{}%
+\setbox1=\lastbox\the\wd1
+
+
+\vfill\eject
+
+\def\TEST#1{%
+  \tfont\A={#1;jfm=ujisv}
+  \noindent\vbox{\tate\hsize=200mm\A\parindent0pt
+    {\tentt #1}\par
+    あ,いーう.え「お」”か”左←↑→↓下
+  }\
+}
+
+\TEST{IPAexMincho:}
+\TEST{[hgrkk.ttc]:}
+\TEST{[hgrkk.ttc]:script=kana}
+\TEST{[hgrkk.ttc]:script=kana;language=jan}
+\TEST{[hgrkk.ttc]:script=hani}
+\TEST{[KozMinPr6N-Regular.otf]:}
+\TEST{[KozMinPr6N-Regular.otf]:script=kana}
+\TEST{[KozMinPr6N-Regular.otf]:script=kana;language=jan}
+\TEST{[KozMinPr6N-Regular.otf]:script=hani}
+
+\def\X#1#2#3{%
+漢字\hbox{#1◆あい#2えお◆}漢字
+\raise10pt\hbox{#1◆あい#2えお◆}漢字
+\lower10pt\hbox{#1◆あい#2えお◆}漢字#3
+漢字\hbox{\hbox{#1◆あい#2えお◆}}漢字
+\raise10pt\hbox{\hbox{#1◆あい#2えお◆}}漢字
+\lower10pt\hbox{\hbox{#1◆あい#2えお◆}}漢字#3
+漢字\vbox{\hsize80pt#1\vrule◆あい#2えお◆\hfil\vrule}漢字
+\raise10pt\vbox{\hsize80pt#1\noindent\vrule◆あい#2えお◆\hfil\vrule}漢字
+\lower10pt\vbox{\hsize80pt#1\vrule◆あい#2えお◆\hfil\vrule}漢字
+}
+
+\vfil\eject
+\vbox{\yoko
+\X\yoko Y{\hfil\break}\par\X\tate T{}\par\X\dtou D{}\par
+\X\utod U{}}
+
+\vbox{\tate
+\X\yoko Y{}\par\X\tate T{\hfil\break}\par\X\dtou D{\hfil\break}\par
+\X\utod U{\hfil\break}}
+
+
+\vfill\eject
+\directlua{luatexja.jfont.register_vert_replace{
+  ['あ']='い', %[',']=false, ['.']='ゐ',
+}}
+%\def\T{[KozMinPr6N-Regular.otf]}
+\def\T{SourceHanSerif-Regular}
+%\def\T{[ipaexm.ttf]}
+%\def\T{[HiraMinProN-W3.otf]}
+\jfont\X=\T:jfm=ujis;language=latn;script=latn
+\tfont\V=\T:jfm=ujisv;+vert;jpotf;language=latn;script=latn
+\tfont\VM=\T:jfm=ujisv;+vert;language=latn;script=latn
+
+\noindent
+\def\ts{\char"301Dあ\char"301Dあ「」あ\char"301Eあ\char"301F%
+  ---“あああ,あああ.”}
+\vbox{\yoko\X\hsize=20\zw\ts}\vadjust{\vskip.5\baselineskip}\\
+\vbox{\tate\V\hsize=20\zw\ts}\quad
+\vbox{\tate\VM\hsize=20\zw\ts}
+
+\end