- \edef\tmp@item{{#1}}%
- \@notkfamfalse
- \@notffamfalse
- \expandafter\expandafter\expandafter
- \inlist@\expandafter\tmp@item\expandafter{\kfam@list}%
- \ifin@ \edef\k@family{#1}%
- \else
- \expandafter\expandafter\expandafter
- \inlist@\expandafter\tmp@item\expandafter{\notkfam@list}%
- \ifin@ \@notkfamtrue
- \else
- %% \@tempswzfalse
- %% \def\fam@elt{\noexpand\fam@elt}%
- %% \message{(I search kanjifont definition file:}%
- %% \def\enc@elt<##1>{\message{.}%
- %% \edef\reserved@a{\lowercase{\noexpand\IfFileExists{##1#1.fd}}}%
- %% \reserved@a{\@tempswztrue}{}\relax}%
- %% \kenc@list
- %% \message{)}%
- %% \if@tempswz
- %% \edef\k@family{#1}%
- %% \else
- \@notkfamtrue
- \xdef\notkfam@list{\notkfam@list\fam@elt<#1>}%
- %% \fi
- \fi\fi
- \expandafter\expandafter\expandafter
- \inlist@\expandafter\tmp@item\expandafter{\ffam@list}%
- \ifin@ \edef\f@family{#1}\else
- \expandafter\expandafter\expandafter
- \inlist@\expandafter\tmp@item\expandafter{\notffam@list}%
- \ifin@ \@notffamtrue \else
- \@tempswzfalse
- \def\fam@elt{\noexpand\fam@elt}%
- \message{(I search font definition file:}%
- \def\enc@elt<##1>{\message{.}%
- \edef\reserved@a{\lowercase{\noexpand\IfFileExists{##1#1.fd}}}%
- \reserved@a{\@tempswztrue}{}\relax}%
- \fenc@list
- \message{)}%
- \if@tempswz
- \edef\f@family{#1}%
- \else
- \@notffamtrue
- \xdef\notffam@list{\notffam@list\fam@elt<#1>}%
- \fi
- \fi\fi
+ \@notkfamfalse\@notffamfalse\edef\tmp@item{{#1}}%
+ \ifcsname \k@encoding+#1\endcsname % if \k@encoding+#1 is already defined
+ \edef\k@family{#1}%
+ \else % search font definition file...
+ \ifcsname kfam@list@\k@encoding\endcsname\else
+ \expandafter\let\csname kfam@list@\k@encoding\endcsname\@empty
+ \expandafter\let\csname notkfam@list@\k@encoding\endcsname\@empty
+ \fi
+ \edef\@templist{\@nameuse{kfam@list@\k@encoding}}%
+ \expandafter\expandafter\expandafter\inlist@\expandafter\tmp@item\expandafter{\@templist}%
+ \ifin@\edef\k@family{#1}\else%
+ \edef\@templist{\@nameuse{notkfam@list@\k@encoding}}%
+ \expandafter\expandafter\expandafter\inlist@\expandafter\tmp@item\expandafter{\@templist}%
+ \ifin@\@notkfamtrue\else%
+ \def\@temp##1+{\lowercase{\def\@@temp{##1}}}\expandafter\@temp\k@encoding+%
+ \message{(I search kanjifont definition file: \@@temp#1.fd)}%
+ \IfFileExists{\@@temp#1.fd}{\@tempswztrue}{\@tempswzfalse}%
+ \if@tempswz
+ \expandafter\xdef\csname kfam@list@\k@encoding\endcsname
+ {\@nameuse{kfam@list@\k@encoding}\fam@elt<#1>}\edef\k@family{#1}%
+ \else
+ \expandafter\xdef\csname notkfam@list@\k@encoding\endcsname
+ {\@nameuse{notkfam@list@\k@encoding}\fam@elt<#1>}\@notkfamtrue%
+ \fi
+ \fi
+ \fi
+ \fi
+ \ifcsname \f@encoding+#1\endcsname
+ \edef\f@family{#1}%
+ \else % search font definition file...
+ \ifcsname ffam@list@\f@encoding\endcsname\else
+ \expandafter\let\csname ffam@list@\f@encoding\endcsname\@empty
+ \expandafter\let\csname notffam@list@\f@encoding\endcsname\@empty
+ \fi
+ \edef\@templist{\@nameuse{ffam@list@\f@encoding}}%
+ \expandafter\expandafter\expandafter\inlist@\expandafter\tmp@item\expandafter{\@templist}%
+ \ifin@\edef\f@family{#1}\else
+ \edef\@templist{\@nameuse{notffam@list@\f@encoding}}%
+ \expandafter\expandafter\expandafter\inlist@\expandafter\tmp@item\expandafter{\@templist}%
+ \ifin@\@notffamtrue\else
+ \def\@temp##1+{\lowercase{\def\@@temp{##1}}}\expandafter\@temp\f@encoding+%
+ \message{(I search font definition file: \@@temp#1.fd)}%
+ \IfFileExists{\@@temp#1.fd}{\@tempswztrue}{\@tempswzfalse}%
+ \if@tempswz
+ \expandafter\xdef\csname ffam@list@\f@encoding\endcsname
+ {\@nameuse{ffam@list@\f@encoding}\fam@elt<#1>}\edef\f@family{#1}%
+ \else
+ \expandafter\xdef\csname notffam@list@\f@encoding\endcsname
+ {\@nameuse{notffam@list@\f@encoding}\fam@elt<#1>}\@notffamtrue%
+ \fi
+ \fi
+ \fi
+ \fi