\NeedsTeXFormat{LaTeX2e}%
\ProvidesPackage{convert-jpfonts}[2025/1/19,Ver1.0.1]%

\RequirePackage{ifthen,xparse,calc}%

\newcommand{\@空白調整}{\hspace{0pt}\nolinebreak[4]\hspace{-.35zw+\@@空白調整}}%
\newcommand{\@@空白調整}{0zw}%
\newcommand{\空白調整}[1]{\def\@@空白調整{#1}}%
\newcommand{\@fonts}[1]{\bgroup\@fonts@zap@space#1 \@empty\relax\egroup}%
\newcounter{全角文字数}%
\setcounter{全角文字数}{0}%
\newcounter{半角文字数}%
\setcounter{半角文字数}{0}%
\newcounter{全半角交代}%
\setcounter{全半角交代}{0}%
\newcommand{\文頭欧文判定}%
  {%
    \stepcounter{半角文字数}%
    \ifthenelse{\the全角文字数=0\AND\the半角文字数=1}{\hspace{.35zw-\@@空白調整}}{}%
    \ifthenelse{\the全角文字数>0\AND\the全半角交代=1}{\hspace{.35zw-\@@空白調整}}{}%
    \setcounter{全半角交代}{0}%
  }%
\newcommand{\@fonts@han@zen}[1]%
  {%
    \if#1,{\文頭欧文判定\@空白調整\hspace{.12zw},\hspace{-.25zw}}%
    \else\if#1.{\文頭欧文判定\@空白調整\hspace{.1zw}.\hspace{-.25zw}}%
    \else\if#1'{\文頭欧文判定\@空白調整\hspace{.08zw}’\ihspace{-1zw}}%
    \else\if#1“{\文頭欧文判定\@空白調整“\hspace{.1zw}}%
    \else\if#1”{\文頭欧文判定\@空白調整\hspace{.08zw}”\hspace{-.4zw}}%
    \else\if#1*{\文頭欧文判定\@空白調整${}^{\text{*}}$}%
    \else\if#1;{\文頭欧文判定\@空白調整;\hspace{.1zw}}%
    \else\if#1:{\文頭欧文判定\@空白調整:\hspace{.1zw}}%
    \else\if#1?{\文頭欧文判定\@空白調整?\hspace{-.6zw}}%
    \else\if#1!{\文頭欧文判定\@空白調整!\hspace{-.6zw}}%
    \else\if#1-{\文頭欧文判定\@空白調整 ー}%
    \else\if#1({\文頭欧文判定\@空白調整 (}%
    \else\if#1){\文頭欧文判定\@空白調整 )}%
    \else\if#10{\文頭欧文判定\@空白調整 0}%
    \else\if#11{\文頭欧文判定\@空白調整 1}%
    \else\if#12{\文頭欧文判定\@空白調整 2}%
    \else\if#13{\文頭欧文判定\@空白調整 3}%
    \else\if#14{\文頭欧文判定\@空白調整 4}%
    \else\if#15{\文頭欧文判定\@空白調整 5}%
    \else\if#16{\文頭欧文判定\@空白調整 6}%
    \else\if#17{\文頭欧文判定\@空白調整 7}%
    \else\if#18{\文頭欧文判定\@空白調整 8}%
    \else\if#19{\文頭欧文判定\@空白調整 9}%
    \else\if#1A{\文頭欧文判定\@空白調整 A}%
    \else\if#1B{\文頭欧文判定\@空白調整 B}%
    \else\if#1C{\文頭欧文判定\@空白調整 C}%
    \else\if#1D{\文頭欧文判定\@空白調整 D}%
    \else\if#1E{\文頭欧文判定\@空白調整 E}%
    \else\if#1F{\文頭欧文判定\@空白調整 F}%
    \else\if#1G{\文頭欧文判定\@空白調整 G}%
    \else\if#1H{\文頭欧文判定\@空白調整 H}%
    \else\if#1I{\文頭欧文判定\@空白調整 I}%
    \else\if#1J{\文頭欧文判定\@空白調整 J}%
    \else\if#1K{\文頭欧文判定\@空白調整 K}%
    \else\if#1L{\文頭欧文判定\@空白調整 L}%
    \else\if#1M{\文頭欧文判定\@空白調整 M}%
    \else\if#1N{\文頭欧文判定\@空白調整 N}%
    \else\if#1O{\文頭欧文判定\@空白調整 O}%
    \else\if#1P{\文頭欧文判定\@空白調整 P}%
    \else\if#1Q{\文頭欧文判定\@空白調整 Q}%
    \else\if#1R{\文頭欧文判定\@空白調整 R}%
    \else\if#1S{\文頭欧文判定\@空白調整 S}%
    \else\if#1T{\文頭欧文判定\@空白調整 T}%
    \else\if#1U{\文頭欧文判定\@空白調整 U}%
    \else\if#1V{\文頭欧文判定\@空白調整 V}%
    \else\if#1W{\文頭欧文判定\@空白調整 W}%
    \else\if#1X{\文頭欧文判定\@空白調整 X}%
    \else\if#1Y{\文頭欧文判定\@空白調整 Y}%
    \else\if#1Z{\文頭欧文判定\@空白調整 Z}%
    \else\if#1a{\文頭欧文判定\@空白調整 a}%
    \else\if#1b{\文頭欧文判定\@空白調整 b}%
    \else\if#1c{\文頭欧文判定\@空白調整 c}%
    \else\if#1d{\文頭欧文判定\@空白調整 d}%
    \else\if#1e{\文頭欧文判定\@空白調整 e}%
    \else\if#1f{\文頭欧文判定\@空白調整 f}%
    \else\if#1g{\文頭欧文判定\@空白調整 g}%
    \else\if#1h{\文頭欧文判定\@空白調整 h}%
    \else\if#1i{\文頭欧文判定\@空白調整 i}%
    \else\if#1j{\文頭欧文判定\@空白調整 j}%
    \else\if#1k{\文頭欧文判定\@空白調整 k}%
    \else\if#1l{\文頭欧文判定\@空白調整 l}%
    \else\if#1m{\文頭欧文判定\@空白調整 m}%
    \else\if#1n{\文頭欧文判定\@空白調整 n}%
    \else\if#1o{\文頭欧文判定\@空白調整 o}%
    \else\if#1p{\文頭欧文判定\@空白調整 p}%
    \else\if#1q{\文頭欧文判定\@空白調整 q}%
    \else\if#1r{\文頭欧文判定\@空白調整 r}%
    \else\if#1s{\文頭欧文判定\@空白調整 s}%
    \else\if#1t{\文頭欧文判定\@空白調整 t}%
    \else\if#1u{\文頭欧文判定\@空白調整 u}%
    \else\if#1v{\文頭欧文判定\@空白調整 v}%
    \else\if#1w{\文頭欧文判定\@空白調整 w}%
    \else\if#1x{\文頭欧文判定\@空白調整 x}%
    \else\if#1y{\文頭欧文判定\@空白調整 y}%
    \else\if#1z{\文頭欧文判定\@空白調整 z}%
    \else{\stepcounter{全角文字数}\setcounter{全半角交代}{1}#1}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
  }%
\def\@fonts@zap@space#1 #2%
  {%
    \@tfor\han:=#1\do{\@fonts@han@zen{\han}}%
    \ifx#2\@empty\else\@fonts@fwspace\expandafter\@fonts@zap@space\fi#2%
  }%
\def\@fonts@fwspace{ }%
\NewDocumentCommand\fonts{ O{\@デフォルトフォント} m }%
  {%
    #1{\@fonts{#2}}%
    \setcounter{全角文字数}{0}%
    \setcounter{半角文字数}{0}%
  }%
\newcommand{\@デフォルトフォント}{\textmc}%
\newcommand{\デフォルトフォント}[1]{\def\@デフォルトフォント{#1}}%