待辦事項 #40648

jfm feature

啟用日期: 2020-08-19 10:57 最後更新: 2020-10-01 06:05

回報者:
負責人:
類型:
狀態:
關閉
元件:
(無)
里程碑:
(無)
優先權:
5 - 中
嚴重程度:
5 - 中
處理結果:
檔案:

細節

現状では JFM jfm-....lua は「組み方ごとに」準備しないといけません.例えば #40639 のように,「banjiao, quanjiao, kaiming」「簡体字・繁体字」「縦組・横組」それぞれの組合せを実現させるためには 12 個のファイルが必要です. 一方,jfm-jlreq.lua (jlreq) のように,「JFM ロード時のグローバル変数の値を元に内容を変える」とファイル数は節約できますが,同一文書内で(例えば)異なる設定を使い分けることができなくなります.

上の事情から,

\jfont\HOGE=name:HogeMincho:...;jfm=hoge/piyo=true,-foo,bar=42,+baz,guha;...

のように「一つの JFM ファイルに "jfm feature" を与えて,異なる JFM と扱う」ようにしてもよいかなと考えているところです.kitagawa_test で実験中です. まだきちんとまとめていませんが,

  • 文法:
    <jfm_spec> ::= "jfm=" <jfm_file_name> [ "/" <feature_list> ]
    <feature_list> ::= <feature> | <feature> [ "," <feature_list> ]
    <feature> ::= [ <switch> ] <name> | <name> "=" <value>
    <switch> ::= "+" | "-"
    
  • JFM ファイル読み込み時に,そのとき指定された jfm feature はテーブル luatexja.jfont.jfm_feature からアクセスできる.上の例だと luatexja.jfont.jfm_feature は
      { ["piyo"]=true, ["foo"]=false, ["bar"]="42", ["baz"]=true, ["guha"]=true }
    
  • 同じ JFM ファイルでも, jfm feature が異なる場合は「違う JFM」とみなす.ただ「hoge,-piyo」「piyo=false,+hoge」のように luatexja.jfont.jfm_feature が同じテーブルになるときは「同じ JFM」とみなす.

Ticket History (2/2 Histories)

2020-08-19 10:57 Updated by: h7k
  • New Ticket "jfm feature" created
2020-10-01 06:05 Updated by: h7k
  • 狀態 Update from 開啟 to 關閉
評語

20200919.0 で含めたので「完了」とします.

Attachment File List

No attachments

編輯

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