Ticket #32030

luatexja-fontspec + geometry

Open Date: 2013-09-10 19:23 Last Update: 2014-11-27 10:56

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

Details

以下のソースを走らせると,\textheight が 200 pt となり, 1ページに 20 行入るはずが実際には 12 行しか入らなくなります:

\documentclass[a4j]{ltjsarticle}
\usepackage{luatexja-fontspec}            % (A)
%\normalsize                              % (B)
\usepackage[width=20\zw,centering, lines=20]{geometry}
\begin{document}
\noindent
ABCDEFGHIJKLMNOPQRST
2\\3\\4\\5\\6\\7\\8\\9\\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\0
\the\textwidth, \the\textheight
\end{document}
luatexja-fontspec を読み込まなければうまく 20 行 (315.2 pt) になります.

とりあえずの解決策として,(B) のように直前で \normalsize を置く,というのがありますが, 上の症状の原因はわかりますでしょうか?

Ticket History (3/6 Histories)

2013-09-10 19:23 Updated by: h7k
  • New Ticket "luatexja-fontspec + geometry" created
2013-09-10 23:58 Updated by: kmaeda
Comment

LuaTeX-ja がなくても,fontspec だけで起こるみたいです.

\documentclass{article}
\usepackage{fontspec}           % (A)
%\normalsize                    % (B)
\usepackage[centering,lines=20]{geometry}
\begin{document}
\noindent
1\\2\\3\\4\\5\\6\\7\\8\\9\\10\\11\\12\\13\\14\\15\\16\\17\\18\\19\\20\\
\the\textwidth, \the\textheight
\end{document}

2013-09-11 00:11 Updated by: kmaeda
Comment

fontspec 読み込み直後に \baselineskip の値を見てみると 10pt になっています. 正しくは 12pt のようです.これが原因?

2013-09-11 11:37 Updated by: h7k
Comment

fontspec 読み込み直後に \baselineskip の値を見てみると 10pt になっています. 正しくは 12pt のようです.これが原因?

確認しました.

fontspec-bs.tex によって調査してみましたが,

  • eu2enc.def 中の \DeclareErrorFont の呼び出しで \f@baselineskip が 12 pt から 10 pt に global に変更される
  • その後の \selectfont の呼び出しで \baselineskip が \f@baselineskip の値 10 pt に変更される

ようです.

以下に latex.ltx にある \DeclareErrorFont の定義を載せますが,なぜ global に変更するのかがちょっと不可解です.

\def\DeclareErrorFont#1#2#3#4#5{%
      \xdef\error@fontshape{%
          \noexpand\expandafter\noexpand\split@name\noexpand\string
          \expandafter\noexpand\csname#1/#2/#3/#4/#5\endcsname
          \noexpand\@nil}%
      \gdef\default@family{#2}%
      \gdef\default@series{#3}%
      \gdef\default@shape{#4}%
      \global\let\f@family\default@family
      \global\let\f@series\default@series
      \global\let\f@shape\default@shape
      \gdef\f@size{#5}%
      \gdef\f@baselineskip{#5pt}%
}

2014-11-27 10:56 Updated by: h7k
  • Resolution Update from None to Remind
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2014-11-27 10:56
Comment

LuaTeX-ja 自体にはあまり関係のない話なので,ここでは完了にしておきます.

Attachment File List

  • fontspec-bs.tex(911bytes)
    • fontspec において \\baselineskip が変更される件のテストファイル

Edit

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