Tíquete #29541

luatexja-fontspec + ltjsclasses

: 2012-09-13 20:53 Última Atualização: 2012-09-19 22:49

Relator:
Dono:
Estado:
Fechado
Componente:
(Nenhum)
Marcos:
(Nenhum)
Prioridade:
3
Gravidade:
3
Resolução:
Fixed
Arquivo:
Nenhum

Details

ltjsclasses では欧文フォント 10pt に対して和文フォント 13Q (≒ 9.28487pt) が使われますが, luatexja-fontspec を用いた時には,ltjsclasses であっても和文フォントのサイズが 欧文フォントの 0.962212 倍となるようです.

もちろん

\documentclass{ltjsarticle}
\usepackage{luatexja-fontspec}
\defaultjfontfeatures{Scale=0.92487}
などと \defaultjfontfeatures をプリアンブルに書けばいいのですが, luatexja-fontspec の側で自動判別を行うことはできないでしょうか?

Ticket History (3/7 Histories)

2012-09-13 20:53 Updated by: h7k
  • New Ticket "luatexja-fontspec + ltjsclasses" created
2012-09-13 21:40 Updated by: kmaeda
Comentário

JY3/mc/m/n のスケールの値を取ればいいんですかね. 今ちょっと時間がとれないので,そのうち考えます(休日かな?).

2012-09-14 02:43 Updated by: h7k
Comentário

# 地震で目を覚ましてしまいました.

JY3/mc/m/n のスケールの値を取ればいいんですかね.

luatexja-preset.sty で似たようなコードを書いていたのを思い出しました:

% scale
{ \fontsize{1024}{1024}\selectfont
  \fp_set_from_dim:Nn \l_ltjpreset_scale_fp \zw
  \fp_gdiv:Nn \l_ltjpreset_scale_fp {1024}
}
\msg_new:nnn { luatexja-preset }{ scale }{
  日本語フォントは~\fp_use:N \l_ltjpreset_scale_fp~倍にスケーリングされます.
}
\msg_warning:nn { luatexja-preset }{ scale }
これをもうちょっと「きちんと」書けば いいのではないかなと思います.

なお,上で 1024 pt にしたのは,できるだけ高精度でスケーリングの値を得ようとしたためですが, 今見た限りだと意味はない?ようです.

日本語フォントは 0.96221923828125倍にスケーリングされます.(ltjarticle)
日本語フォントは 0.92486572265625倍にスケーリングされます.(ltjsarticle)

これらは,それぞれ 63060/65536, 60612/65536 になっています.

2012-09-14 06:21 Updated by: h7k
Comentário

なお,上で 1024 pt にしたのは,できるだけ高精度でスケーリングの値を得ようとしたためですが, 今見た限りだと意味はない?ようです.

これは TeX の仕様のようです.

(主に自分のために)詳細を述べておきますと,TeX は dimension を読み込むときに

  1. 係数を 1/65536 単位の固定小数点で取得
  2. 「in, mm などの単位と(分数で)乗算」するか,「\dimen0 等の他 dimension と乗算」

という処理を踏みます.そのため,「スケーリングの値を得る」目的では,\fontsize の値が整数 pt であれば良いです.

なお,次ソースの1行目のように一旦単位長さを \dimen に格納するのと,2行目のように直接書くのとでは 15056.07605pt と 15056.25pt のように結果に差が出てきます.

\dimen0=1bp \dimen0=15000\dimen0\message{\the\dimen0}
\dimen0=15000bp\message{\the\dimen0}
\end

2012-09-17 01:11 Updated by: kmaeda
  • Dono Update from (Nenhum) to kmaeda
Comentário

これをもうちょっと「きちんと」書けば いいのではないかなと思います.

「きちんと」というのがどれぐらいのものを求められているのかわからないのですが,ほぼ luatexja-preset からそのまま持ってきてみました (commit 4aeb291). 何かこれだと問題が生じえる?

\documentclass{ltjarticle}
%\documentclass{ltjsarticle}
\usepackage{luatexja-fontspec}
\usepackage{lua-visual-debug}
\setmainjfont{IPAMincho}
\begin{document}
ああ\jfontspec[Scale=0.924866]{IPAMincho}ああ\jfontspec[Scale=0.96222]{IPAMincho}ああ
\end{document}
2012-09-17 06:28 Updated by: h7k
  • Resolução Update from Nenhum to Fixed
Comentário

「きちんと」というのがどれぐらいのものを求められているのかわからないのですが, ほぼ luatexja-preset からそのまま持ってきてみました (commit 4aeb291). 何かこれだと問題が生じえる?

これで大丈夫だと思います.luatexja-preset.sty の該当部分は不要になったので,整理しておきました (commit 012015a).


上で「きちんと」と書いたのは,

1024 pt にしたのは,できるだけ高精度でスケーリングの値を得ようとしたため

が Scale >2 のときはうまく動かないから,その時の処理を入れないとなあ,という事でした (しかし,私の 9/14 6:21 のコメントからもわかるように,単純に 10 pt で見ればよかった^^;)

2012-09-19 22:49 Updated by: kmaeda
  • Estado Update from Aberto to Fechado
  • Ticket Close date is changed to 2012-09-19 22:49
Comentário

完了にしておきます.

Attachment File List

No attachments

Editar

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