TeX Live r35495 をベースに,e-[u]pTeX に
pdfTeX の \pdfshellescape を実装してみました.
また,仕様を満足に詰めていませんが,実験的なものとして
・\lastnodechar: 「直前の文字」の内部コードを返す.
\lastnodetype で調べられるノードを n としたとき
・n が char_node のとき,その内部コードの値を返す.
・n が禁則由来のペナルティのとき,
「最後の和文文字」last_jchr の内部コードの値を返す.
・n が JFM 由来のグルーの時も同じ.
・それ以外の場合は,-1 を返す.
を追加してみました.
フォント由来のカーニングについては未対応なので,
また近いうちに更新するつもりです.
> r35541 として代理コミットしておきました。
こちらこそ,ありがとうございます.
さて,
> フォント由来のカーニングについては未対応
と書きましたが,早速更新しました.
添付した zip の中の lnctest.tex がサンプルになっています.
こちらこそ,ありがとうございます.
さて,
> フォント由来のカーニングについては未対応
と書きましたが,早速更新しました.
添付した zip の中の lnctest.tex がサンプルになっています.
報告ありがとうございます.再現しました.
TeX Live r35611 に対するパッチを作ってみました.
私の手元では動いているようです.
---
さて,欧文リガチャに対する \lastnodechar の返り値についてですが,
A. リガチャのグリフの番号を返す
B. リガチャをなす最後の構成要素の文字コードを返す
という 2 つの選択肢があります.例えば,通常の cmr10 フォントで
ffi\the\lastnodechar
と打った時,A. の方針だと 14,B. の方針だと``i''の文字コード 105
が出力されることになります.
11/09 以前では A. の方針を取ってきましたが,
今回のパッチでは B. の方針に変えています.リガチャ周囲の
\xkanjiskip の挿入判定もその最初・最後の構成要素を用いて行っている
のに合わせた形ですが,どうでしょう?
TeX Live r35611 に対するパッチを作ってみました.
私の手元では動いているようです.
---
さて,欧文リガチャに対する \lastnodechar の返り値についてですが,
A. リガチャのグリフの番号を返す
B. リガチャをなす最後の構成要素の文字コードを返す
という 2 つの選択肢があります.例えば,通常の cmr10 フォントで
ffi\the\lastnodechar
と打った時,A. の方針だと 14,B. の方針だと``i''の文字コード 105
が出力されることになります.
11/09 以前では A. の方針を取ってきましたが,
今回のパッチでは B. の方針に変えています.リガチャ周囲の
\xkanjiskip の挿入判定もその最初・最後の構成要素を用いて行っている
のに合わせた形ですが,どうでしょう?
北川様
早速のご対応,ありがとうございます。
こちらの手元でも件のソースが正しくコンパイルされました。
欧文リガチャに対する挙動は,\xkanjiskip の挿入判定に沿った B.の方針が都合がよいと思います。ありがとうございます。
ところで,また Segmentation fault で落ちる現象を確認しましたので,ご報告いたします。
(今度は再現性が100%ではないので,私の環境依存なのかもしれず,あまり自信がないのですが,念のため。)
次のソースを uplatex でコンパイルすると,(必ずというわけではないのですが)数回に1回の頻度で Segmentation fault を起こします。
\documentclass[uplatex]{jsarticle}
\newcount\num
\loop
\AtBeginDvi{\special{pdf:mapline uphminr-h UniJIS-UTF16-H KozMinPr6N-Regular.otf}}
\advance\num1
\ifnum\num<200\repeat
\begin{document}
あ
\newpage
あ\the\lastnodechar
\end{document}
早速のご対応,ありがとうございます。
こちらの手元でも件のソースが正しくコンパイルされました。
欧文リガチャに対する挙動は,\xkanjiskip の挿入判定に沿った B.の方針が都合がよいと思います。ありがとうございます。
ところで,また Segmentation fault で落ちる現象を確認しましたので,ご報告いたします。
(今度は再現性が100%ではないので,私の環境依存なのかもしれず,あまり自信がないのですが,念のため。)
次のソースを uplatex でコンパイルすると,(必ずというわけではないのですが)数回に1回の頻度で Segmentation fault を起こします。
\documentclass[uplatex]{jsarticle}
\newcount\num
\loop
\AtBeginDvi{\special{pdf:mapline uphminr-h UniJIS-UTF16-H KozMinPr6N-Regular.otf}}
\advance\num1
\ifnum\num<200\repeat
\begin{document}
あ
\newpage
あ\the\lastnodechar
\end{document}