-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[eptex] \Uchar and \Ucharcat #95
Comments
https://github.com/h-kitagawa/tex-jp-build/tree/ucharcat でとりあえず作ってみたところです(動作説明は uchar.tex 中に書いています)が,時間がとれていないので JFM グルー挿入処理との関係については未調査です. |
h-kitagawa@c994855 の win32 バイナリを置きます。お試しください> @zr-tex8r
という状態でビルドしています。 |
遅くなりましたが試してみました。良いと思います。e-pTeX で \Ucharcat の文字コードに 0--255 しか許していないのは texjporg/ptex-manual#4 の
と合致していますし。
これはよくわからないので確認していません。 |
動作確認どうもありがとうございます.
よく考えてみたら, |
そうですね。 もし気になる点があるとしたら,プリミティブの名前でしょうか。
個人的には,今の名前のままでドキュメントを整備して完了で良いと思います。 |
ざっと探しましたが TeX Live には今のところ無いですね。 現在の TeX Live に含まれるもので,今回の \Uchar/\Ucharcat で影響を受けるのは下記の2個だけのように見えます。挙動が変わるというだけで,問題は多分ないと思います。 [1] \usepackage{ucharcat} でエラーが出なくなる。 現在このパッケージは LuaTeX でしか機能しない。XeTeX では静かに \endinput され,pdfTeX / e-(u)pTeX ではエラー
が出る。一方,新しい e-(u)pTeX では,現在の XeTeX と同様に静かに \endinput する。 [2] expl3-code.tex の実装には \cs_new:Npn \__char_str_change_case:nN #1#2
{
\int_compare:nNnTF {#1} = 0
{ \tl_to_str:n {#2} }
{ \char_generate:nn {#1} { 12 } }
}
\cs_if_exist:NF \tex_Uchar:D
{
\cs_set:Npn \__char_str_change_case:nN #1#2
{ \tl_to_str:n {#2} }
} というコードがあるので, \documentclass{article}
\usepackage{expl3}
\begin{document}
\ExplSyntaxOn
\cs_show:N \__char_str_change_case:nN
\ExplSyntaxOff
a
\end{document} の結果が
に変わる。 |
ZR さんの #81 (comment) に関連しますが,upTeX においては
となっています(pTeX では元々和文文字トークンにカテゴリーコード情報は格納されないので両者とも一致します). 両者の挙動を統一させる必要は(また,させるとしたらどちらに)あるでしょうか? \message{STRING}
\edef\a{\string ア}
\expandafter\ifcat\a 漢\message{16}\fi
\expandafter\ifcat\a イ\message{17}\fi
\expandafter\ifcat\a !\message{18}\fi
\message{UCHAR}
\expandafter\ifcat\Uchar`ア 漢\message{16}\fi
\expandafter\ifcat\Uchar`ア イ\message{17}\fi
\expandafter\ifcat\Uchar`ア !\message{18}\fi
\bye
% ==> STRING 17 UCHAR 18 |
\Uchar の結果は欧文文字では \string と同じになるので,upTeX の和文文字でもこれに合うのが直感的だと思います。そういえば #88 の「\readline の和文文字」はどうしたのでしたっけ? |
他の「文字列化→再トークン化」と同様に,そのときの \endlinechar=-1
\readline16to \a
\message{\meaning\a}
\expandafter\ifcat\a 漢\message{16}\fi
\expandafter\ifcat\a イ\message{17}\fi
\expandafter\ifcat\a !\message{18}\fi
\bye
|
h-kitagawa@07b2f3d で 一致させました. |
動作確認しました。ありがとうございます。 cad0ebc で e-pTeX version 191112 にして ChangeLog も付けました。(eptex_version.h) 大丈夫そうなので svn にコミットしてよいでしょうか? |
どうもありがとうございます,お願いします. |
Done (r52771). |
texjporg/ptex-manual@19f0847 で英語版 pTeX ガイドにも \Uchar / \Ucharcat に言及。 |
tex-jp-builkd/#81 から分離しました.もとの aminiophen さんのコメントを載せておきます:
====
メモです。
https://twitter.com/zr_tex8r/status/1189063963381600257 からの某ZRさんのツイートで
とあって,まさにこれが「バイト列と和文文字トークンを区別する」ようになると封じられる部分です。実際に濫用された事例があるのかどうか,情報を集めたいのですが,探すの難しい…。
Originally posted by @aminophen in #81 (comment)
The text was updated successfully, but these errors were encountered: