名前: 稲垣 日時: 2004-12-27 06:54:45 IPアドレス: 61.211.183.*
Babel+アイスランド語における \k{\'O} についての報告です。 \documentclass{jsbook} \usepackage[T1]{fontenc} \makeatletter \newdimen\pl@left \newdimen\pl@down \newdimen\pl@right \newdimen\pl@temp \def\sob#1#2#3#4#5{%parameters: letter and fractions hl,ho,vl,vo \setbox0\hbox{#1}\setbox1\hbox{\k{}}\setbox2\hbox{p}% \pl@right=#2\wd0 \advance\pl@right by-#3\wd1 \pl@down=#5\ht1 \advance\pl@down by-#4\ht0 \pl@left=\pl@right \advance\pl@left by\wd1 \pl@temp=-\pl@down \advance\pl@temp by\dp2 \dp1=\pl@temp \leavevmode \kern\pl@right\lower\pl@down\box1\kern-\pl@left #1} \DeclareTextCommand{\OOob}{T1}{\sob {\'O}{.7}{0}{0}{0}} \DeclareTextCommand{\OOobLM}{T1}{\sob {\'O}{.85}{0}{0}{0}} \DeclareTextCommand{\OOobTM}{T1}{\sob {\'O}{.75}{0}{0}{0}} \makeatother \thispagestyle{empty} \begin{document} Babel+アイスランド語における \verb:\k{\'O}: についての報告です。 \medskip 古アイスランド語で用いられる,\'O に ogonek \k{} を添えた文字を使用する際, \verb:\k{\'O}: と入力すると \k{\'O} となり,正確な出力を得ることができません。 \texttt{icelandic.ldf} は \verb:\sob: というマクロで ogonek の出力位置を 調整することでこの問題を解決しています。 \verb:\OOob: \OOob ところが,\OOob{} は ECフォントの使用を前提としているようで, Latin Mondern では {\fontfamily{lmr}\selectfont \OOob}, Times では {\fontfamily{ptm}\selectfont \OOob} と,ogonek の位置がずれてしまいます。 そこで,\verb:\sob: に与える引数の値を変更してみました。 \begin{verbatim} \DeclareTextCommand{\OOobLM}{T1}{\sob {\'O}{.85}{0}{0}{0}} \DeclareTextCommand{\OOobTM}{T1}{\sob {\'O}{.75}{0}{0}{0}} \end{verbatim} このようにすると,Latin Mondern では {\fontfamily{lmr}\selectfont \OOobLM}, Times では {\fontfamily{ptm}\selectfont \OOobTM} という出力を得ることができ ます。 なお,マクロ内で使っている \verb:\'O: は,オリジナルでは 8 ビットエンコー ディングで記述されています。 \medskip ところで,上記のようにフォントごとにパラメータを設定するのではなく, 本文標準フォントに自動的に対応する方法はないものでしょうか。 \end{document}
この書き込みへの返事: