texjporg / tex-jp-build

Minimum source repository to build Japanese TeX processing tools
23 stars 6 forks source link

[e-pTeX] \ifincsname #83

Closed aminophen closed 5 years ago

aminophen commented 5 years ago

https://github.com/latex3/latex2e の develop ブランチ(2019-10-01 リリース予定?)の LaTeX2e において,UTF-8 対応改善の一環で utf8ienc.dtx の内部コードに \ifincsname という pdfTeX 由来プリミティブを使うようになっています。

TL2019 現在は \ifincsname が pdfTeX/XeTeX/LuaTeX に実装されていますが,e-pTeX/e-upTeX/Aleph では未実装のため,以下のような inputenc UTF-8 なソースでエラーが出るようになります。

\documentclass[a4paper]{article}
\begin{document}
[Æ]
\end{document}
! Undefined control sequence.
\UTFviii@two@octets ->\ifincsname 
                                  \expandafter \UTF@two@octets@string \else ...
l.3 [^^c3
         ^^86]
?

少なくとも TL2019 の間に e-(u)pTeX に new feature を入れることは難しいと思うので一旦 https://github.com/latex3/latex2e/issues/95#issuecomment-509631724 で問い合わせ中ではありますが,TL2020 へ向けて \ifincsname を e-(u)pTeX に入れることを検討しても良いかと思い,issue としておきます。

aminophen commented 5 years ago

よくわからないけど aminophen-ifincsname ブランチでお試し中。(バージョン番号は弄っていません)

h-kitagawa commented 5 years ago

https://github.com/h-kitagawa/tex-jp-build/tree/eptex-ifincsname でも試していましたが,先を越されました.

aminophen commented 5 years ago

ありがとうございます。私のはあまり考えていないので怪しいです。

aminophen commented 5 years ago

私のはまだ途中で漏れがありましたが, @h-kitagawa さんのは正しいですね。

\currentiftype をこの際 pdfTeX に合わせる方が良いような気がしますがどうでしょう?

h-kitagawa commented 5 years ago

\currentiftype をこの際 pdfTeX に合わせる方が良いような気がしますがどうでしょう?

せっかくなのでそのようにしました.e-pTeX のバージョン番号は昨日 (190709) のままにしておきます.

aminophen commented 5 years ago

ありがとうございます。ついでなので,本件とあわせて

も同時コミットするつもりでテストします。

aminophen commented 5 years ago

eptex-ifincsname ブランチ

08c4325 で #77 とのコンフリクトを解決し,正常に動いているように見えます。

aminophen commented 5 years ago

https://github.com/latex3/latex2e の develop ブランチ TL2019 の間に e-(u)pTeX に new feature を入れることは難しいと思うので一旦 latex3/latex2e#95 (comment) で問い合わせ中ではありますが,

latex3/latex2e@ea254ee にて,TL2019 の期間中は一時的対策として「\ifincsname が未定義なら古い utf8.def にフォールバックする」というコードを追加してもらいました。これで目下 10 月に UTF-8 な inputenc が動かなくなる懸念は無くなりました。

aminophen commented 5 years ago

! Improper alphabetic or KANJI constant エラー

は r51623 で,

\ifincsname \iffontchar, \fontchar??

は r51624 でコミットしました。