Ticket #26761

kitagawa_jfm-after ブランチについて

Open Date: 2011-11-18 20:32 Last Update: 2012-01-22 10:56

Reporter:
Owner:
(None)
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None

Details

フォーラム「luaotfload による処理と「文字クラス」の決定」「和文文字の範囲」の議論に従い,

  • 文字クラスの決定を luaotfload による置換後 に行うようにした
  • fontspec パッケージ(厳密には xunicode)で定義される,Unicode 文字を表す命令を,「常に欧文扱い」に

という変更を加えた kitagawa_jfm-after ブランチを作りました.

post-proceeding に反映させておきたいので,22日までにはマージしたいなと考えています. みなさま,レビューをお願いできますでしょうか?

なお.数式については,

  • unicode-math 内で言及された unicode 文字は数式中においては欧文扱い(unicode-math のラッパーを作る)
  • <255 の文字に対しては,数式中では全部欧文扱いにする(8ビット tfm の都合)

ということを考えています(実装中……).

Ticket History (3/16 Histories)

2011-11-18 20:32 Updated by: h7k
  • New Ticket "kitagawa_jfm-after ブランチについて" created
2011-11-19 11:11 Updated by: h7k
Comment

>数式については,(略)実装中……

test/test07-math-unicode.tex においてみました.こちらをきちんとパッケージ化するのは間に合わないかも.

2011-11-20 01:05 Updated by: kmaeda
Comment

こちらをきちんとパッケージ化するのは間に合わないかも.

パッケージ化というか,filehook パッケージを使って \AtEndOfPackageFile* でパッチを当てるようにする,というのが一つの案ですが,どうでしょうか. filehook パッケージ依存になってしまいますが.lltjlisting も同様に.

ただ,そうすると luatexja の読み込み前に \setmathfont をやっちゃうとパッチが当たらないという問題はあるかも.

luatexja-unicode-math みたいなのを作ってもいいのですが,「LuaTeX-ja 用の○○へのパッチ」が増えていって,それをユーザに明示的に読み込ませるのは何か違和感があります. luatexja-fontspec もありますが,こちらはコマンドを追加するのでパッチとも違うのかなぁ,という気も.

2011-11-20 12:51 Updated by: h7k
Comment

パッケージ化というか,filehook パッケージを使って \AtEndOfPackageFile* でパッチを当てるようにする,というのが一つの案ですが,どうでしょうか. filehook パッケージ依存になってしまいますが.lltjlisting も同様に.
luatexja-unicode-math みたいなのを作ってもいいのですが,「LuaTeX-ja 用の○○へのパッチ」が増えていって,それをユーザに明示的に読み込ませるのは何か違和感があります.

filehook は TeX Live では collection-latexextra にあるので,「大半が入れている」とはいい難いですが, HDD 容量が巨大化していることを考えると.「TeX 導入 = TeX Live フルインストール」も珍しくなくなりそうなので,そんなに大きな問題にはならないかな?
# 気になるのは Windows での動向ですね.

LuaTeX の callback で実現できれば,何も考えなくてもいいですよね.

luatexja-fontspec もありますが,こちらはコマンドを追加するのでパッチとも違うのかなぁ,という気も.

kitagawa_jfm-after ブランチ中の luatexja-fontspec.sty では,xunicode.sty にパッチをあてている(\textquotedblleft 等を常に欧文扱いにするため)ので,パッチといえそうな気もします.もっとも,こちらは \setmainfont 等の後でもよいですけど.


lltjlisting.sty については,中身をきちんと見ないとと思いつつ,なかなかやる気がおきません.

2011-11-20 15:14 Updated by: kmaeda
Comment

filehook は TeX Live では collection-latexextra にあるので,「大半が入れている」とはいい難いですが

unicode-math が使っているので,少なくとも unicode-math 利用者の環境には入っているはずです. unicode-math-luatex.sty の最後の方を参照です.

ただ,現状 unicode-math 自体があまり一般的ではないかも,というのはありますね. collection-mathextra にあるみたいです.

2011-11-20 22:35 Updated by: h7k
Comment

filehook は TeX Live では collection-latexextra にあるので,「大半が入れている」とはいい難いですが

unicode-math が使っているので,少なくとも unicode-math 利用者の環境には入っているはずです. unicode-math-luatex.sty の最後の方を参照です.

filehook を使う形で書き直してみましたが,まだ unicode-math は luatexja の前に読み込めません.以下のエラーが出てしまいます:

! Undefined control sequence.
\hbar ->\hslash 
                
l.3640 ...eUTFcharacter[\UTFencname]{x210F}{\hbar}
luatexja-fontspec.sty 中の xunicode.sty の再読み込みで起こっているようです.

その上,\hbar を使うと setwidth.lua でエラーが発生します(明日以降に検討).

2011-11-20 22:42 Updated by: abenori
Comment

h7k への返信

filehook は TeX Live では collection-latexextra にあるので,「大半が入れている」とはいい難いですが,

W32TeXには入っていないみたいですね.

2011-11-20 22:49 Updated by: kmaeda
Comment

h7k への返信

filehook を使う形で書き直してみましたが,まだ unicode-math は luatexja の前に読み込めません.以下のエラーが出てしまいます:

あとで時間が取れたら試してみます.

abenori への返信

filehook は TeX Live では collection-latexextra にあるので,「大半が入れている」とはいい難いですが,

W32TeXには入っていないみたいですね.

そうなのですか.unicode-math 自体入っていないんでしたっけ?

2011-11-21 00:14 Updated by: abenori
Comment

kmaeda への返信

W32TeXには入っていないみたいですね.

そうなのですか.unicode-math 自体入っていないんでしたっけ?

そうみたいです.

2011-11-22 03:57 Updated by: kmaeda
Comment

北川さんのを元に,パッチを当てる処理を改善してみました.kmaeda-patches ブランチを切ってあります.

filehook を使う形で書き直してみましたが,まだ unicode-math は luatexja の前に読み込めません.以下のエラーが出てしまいます:

! Undefined control sequence.
\hbar ->\hslash

unicode-math 内で,\setmathfont 後に \hslash が定義されるのを前提に \def\hbar{\hslash} してるみたいです. とりあえず一旦 \hbar の定義を退避させて,\ReloadXunicode{EU2} 後に元に戻すようにしてみました.

その上,\hbar を使うと setwidth.lua でエラーが発生します

和文文字指定だけど和文文字のフォントでない(対応する JFM がない)ときに char_data が nil になっているみたいなので, これも場当たり的ですが nil かどうかのチェックだけするようにしてみました.まずそうならば直して下さい.

このバージョンでも filehook が存在するときだけ読み込むようにしてあるのですが,filehook がないときはパッチが当たらない可能性がある旨の警告が出るようにしてあります. ちょっとうるさいかな?

ちなみに,unicode-math のテスト結果を見るとディスプレイ数式 \[ ... \] のときは数式文字を欧文文字扱いしてくれるみたいなんですが, インライン数式 $ ... $ のときも欧文文字扱いするようにはできないのでしょうか? 原理をあまりよく理解できていないもので…….

2011-11-22 06:19 Updated by: h7k
Comment

北川さんのを元に,パッチを当てる処理を改善してみました.kmaeda-patches ブランチを切ってあります.

ありがとうございます.これから見てみます.

ところで,本題のブランチのマージですが,ひとまず unicode-math 関連にタッチしてない 69726d92 までをマージしようと思っています.unicode-math は理解がかなり難しいので…….

2011-11-22 11:47 Updated by: kmaeda
Comment

おお,6abeb05 でインライン数式にも効くようになっている.ありがとうございます.

2011-11-22 12:28 Updated by: kmaeda
Comment

6abeb05 でインライン数式にも効くようになっている.

自己レスですが,コミット番号のコピペを間違えた…….5b9f51e ですね.

2011-11-22 12:54 Updated by: h7k
Comment

おお,6abeb05 でインライン数式にも効くようになっている.ありがとうございます.

和文文字の判定を glyph_node しか見てなかったので, インライン数式についても文字コードで判定をしていたのが原因でした.

なんかいろいろためしてみたら,5b9f51e でミスをしていた? ようなので修正.

2011-11-22 13:47 Updated by: kmaeda
Comment

なんだか \directlua を直接書くのもアレなので,単純な TeX マクロで包んでみました. できればちゃんとパラメータ化した方がいいかなぁ.

2012-01-22 10:56 Updated by: h7k
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2012-01-22 10:56
Comment

post-proceedings も投稿したので,完了としておきます.

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login