From b2d6444a8abd937bc22626739d1f980c6fad1533 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 12 Feb 2022 21:17:04 +0000 Subject: bxghost (12feb22) git-svn-id: svn://tug.org/texlive/trunk@61989 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/bxghost/bxghost.sty | 65 +++++++++++++++++++++---- 1 file changed, 55 insertions(+), 10 deletions(-) (limited to 'Master/texmf-dist/tex/latex/bxghost') diff --git a/Master/texmf-dist/tex/latex/bxghost/bxghost.sty b/Master/texmf-dist/tex/latex/bxghost/bxghost.sty index a00a4623ca7..33b965ef3a5 100644 --- a/Master/texmf-dist/tex/latex/bxghost/bxghost.sty +++ b/Master/texmf-dist/tex/latex/bxghost/bxghost.sty @@ -1,7 +1,7 @@ %% %% This is file 'bxghost.sty'. %% -%% Copyright 2019 Takuto ASAKURA (wtsnjp) +%% Copyright 2019-2022 Takuto ASAKURA (wtsnjp) %% GitHub: https://github.com/wtsnjp %% Twitter: @wtsnjp %% @@ -10,7 +10,7 @@ %% package declaration \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{bxghost}[2020/01/31 v0.3.0] +\ProvidesPackage{bxghost}[2022/02/12 v0.4.0] %% preparations \def\bxqgg@pkgname{bxghost} @@ -23,9 +23,10 @@ \edef\bxqgg@tmpa{\string#1}\edef\bxqgg@tmpb{\meaning#1}% \ifx\bxqgg@tmpa\bxqgg@tmpb #2\fi} \chardef\bxqgg@engine=0 % other TeX -\bxqgg@next\kanjiskip {\chardef\bxqgg@engine=1 }% (u)pTeX (or ApTeX) -\bxqgg@next\luatexversion{\chardef\bxqgg@engine=2 }% LuaTeX -\bxqgg@next\XeTeXversion {\chardef\bxqgg@engine=3 }% XeTeX +\bxqgg@next\kanjiskip {\chardef\bxqgg@engine=1 }% pTeX +\bxqgg@next\enablecjktoken{\chardef\bxqgg@engine=2 }% upTeX +\bxqgg@next\luatexversion {\chardef\bxqgg@engine=3 }% LuaTeX +\bxqgg@next\XeTeXversion {\chardef\bxqgg@engine=4 }% XeTeX %--------------------------------------- not supported engine @@ -34,10 +35,19 @@ \expandafter\endinput \fi +%--------------------------------------- load LuaTeX-ja + +\ifnum\bxqgg@engine=\thr@@ + \RequirePackage{luatexja} + \@ifpackageloaded{luatexja-adjust}{}{% + \RequirePackage{luatexja-adjust}\ltjdisableadjust} +\fi + %--------------------------------------- the verb option \newif\ifbxqgg@verb \bxqgg@verbfalse \DeclareOption{verb}{\bxqgg@verbtrue} +\DeclareOption{noverb}{\bxqgg@verbfalse} \ProcessOptions\relax %--------------------------------------- eghostguarded @@ -51,6 +61,8 @@ \ifcase\bxqgg@engine \or % pTeX \xspcode\bxqgg@cwm=3\relax +\or % upTeX + \xspcode\bxqgg@cwm=3\relax \or % LuaTeX \ltjsetparameter{alxspmode={\bxqgg@cwm,3}} \fi @@ -77,7 +89,7 @@ %% \bxqgg@fwsp: a zenkaku space (U+3000) \begingroup - \ifnum\bxqgg@engine=\@ne % pTeX + \ifnum\bxqgg@engine<\thr@@ % (u)pTeX \kansujichar\@ne=\jis"2121\relax \xdef\bxqgg@fwsp{\kansuji\@ne} \else % others @@ -86,9 +98,27 @@ \fi \endgroup +% make sure to use a font whose zenkaku space is class zero +\let\bxqgg@jafont\relax + +\ifcase\bxqgg@engine +\or % pTeX + \DeclareFontFamily{JY1}{bxqgg}{} + \DeclareFontFamily{JT1}{bxqgg}{} + \DeclareFontShape{JY1}{bxqgg}{m}{n}{<->s*[0.961]jis}{} + \DeclareFontShape{JT1}{bxqgg}{m}{n}{<->s*[0.961]tmin10}{} + \def\bxqgg@jafont{\usekanji{\k@encoding}{bxqgg}{m}{n}} +\or % upTeX + \DeclareFontFamily{JY2}{bxqgg}{} + \DeclareFontFamily{JT2}{bxqgg}{} + \DeclareFontShape{JY2}{bxqgg}{m}{n}{<->s*[0.92469]upjisr-h}{} + \DeclareFontShape{JT2}{bxqgg}{m}{n}{<->s*[0.92469]upjisr-v}{} + \def\bxqgg@jafont{\usekanji{\k@encoding}{bxqgg}{m}{n}} +\fi + %% \bxqgg@kern@m@ne@zw: a negative zenkaku width kern -\ifnum\bxqgg@engine=\@ne - % pTeX knows the unit `zw' +\ifnum\bxqgg@engine<\thr@@ + % (u)pTeX knows the unit `zw' \def\bxqgg@kern@m@ne@zw{\kern-1zw\relax} \else % for other engines, we use \zw instead @@ -102,11 +132,26 @@ \fi } \edef\bxqgg@jghostguarded@a#1{% - \bxqgg@fwsp\bxqgg@kern@m@ne@zw + \bgroup + \noexpand\bxqgg@jafont + \bxqgg@fwsp\bxqgg@kern@m@ne@zw + \egroup #1% - \bxqgg@kern@m@ne@zw\bxqgg@fwsp + \bgroup + \noexpand\bxqgg@jafont + \bxqgg@kern@m@ne@zw\bxqgg@fwsp + \egroup } +% better definition for LuaTeX-ja (20220211.0 or later) +\ifnum\bxqgg@engine=\thr@@ % LuaTeX + \ifx\ltjghostbeforejachar\@undefined\else + \def\bxqgg@jghostguarded@a#1{% + \ltjghostbeforejachar #1\ltjghostafterjachar + } + \fi +\fi + %--------------------------------------- all done \endinput %% EOF -- cgit v1.2.3