カレンダー

2008年7月
« 6月   8月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

テーマの変更

てふてふ君の症例検討会(その 1)

【はじめに】 今回から、各論に入るにあたり、記事の体裁を少し変えました。毎回、症例検討(ケーススタディ)として、さるギョーカイではおなじみの形とします。また、皆さんに解決策をお考えいただくために「処方箋」は「続き」以下にあり、最初から表示しないようにしました。症例検討会ですので、ここでの解決策がベストとは限りません。お気きの点がありましたら、コメントの形でご参加ください。また、取り上げてほしいケース(青空文庫作品)がありましたら、リクエストをお寄せください。最初のケースを始める前に、当検討会の処方の概略を少々…

各テキストが持っている「癖」をよく見極める事が大事な要点です。それを修正して、いかに「見てくれ」を良くするためには、おおざっぱに言うと以下の三つの分野に分けられます。

  1. JIS 0208 にない文字の表現方法
  2. 圏点など文字の各種装飾の処理
  3. 「下付き」などの文章のレイアウトの再現

どれを取ってみても、ケースが多々あり、課題山積ですが、今回はまずは、1. に関連したケースをとりあげます。

【症例】辻潤「え゛りと・え゛りたす」

【主訴】 題名の「え゛」が、横並びに表現されない

【現病歴】 青空文庫での、JIS 0208 という範囲内で原型をすべて再現できないのは自明の事で、第三水準、第四水準、はたまたユニコードという解決策はあるようですが、今回は、題名からいきなりユニコードにもない「え゛」が使われています。筆者辻潤の作った文字のようですが、横書きでは、なんとか読めますが、縦書き PDF となると、「え」と「゛」が上下行き別れになります。さて困った、解決策はあるのでしょうか?(下図)

修正前の PDF

解決策(処方箋)は、続きにあります。

【その処方】 今回の「え゛」はユニコードにもないのですから、該当する「文字コード」そのものを操作するわけにはいきません。TeX のテクニックだけでそうした文字を表現できるか試してみました。下記の処方を施し、解決した PDFです。

まず「え」と「゛」を並べてみます。

¥kintou{1.05zw}{え゛}

そのままだと、「え゛」と間延びしてしまうので、二字を均等割(¥kintou)にしてみました。また、1 文字の均等割に詰め込んでしまうと、間隔が窮屈になるので、1.05 文字という微妙な大きさにしました。この程度だと、上下の文字との釣り合いもとれます。ここで使った ¥kintou というマクロの定義は、

 ¥hbox to #1{%
    ¥kanjiskip=0pt plus 1fill minus 1fill
    ¥xkanjiskip=¥kanjiskip
    #2}}

です。奥村先生作成のマクロ(okumacro.sty)の一部です。okumacro.sty は、「てふてふ君」にも仕込んでいます。(ただし、\ruby の定義の部分は、furikana.sty と衝突しますので、コメントアウトしています。)縦書きだと、これだけでは、上下行き別れの症状は解消されないので、

\rensuji{\kintou{1.05zw}{え゛}}

\newcommand{\dakuten}[1]%
{\leavevmode\rensuji{\hbox to 1zw{#1\hspace*{-0.25zw}゛}}}
\dakuten{え}

としました。¥rensuji コマンドは、青空文庫テキストでも「縦中横」とある、縦書き文章の中での例外的な横並びを表現できますので、覚えておいて損はないと思います。「え゛」は、入力者注を含めて、三ヶ所ありますので、それを上記のように置換すれば、完了です。(マクロは、psitau さんのアドバイスによります。)(下図)

辻潤「え゛りと・え゛りたす」PDF

PDFTeX ソース

ここまでは、「てふてふ君」でも作成できるようにしましたが、前回の Tex ソースは、もうひとひねり、「後注」のマークや「|」が連続した長い縦棒(の一部)が、行先頭に来ないように、「均等割」を使って、前の行に「追い込ん」でいます。そこまでは、「てふてふ君」では自動処理はしていませんので、悪しからず。

次回のケースは、ガルシン 二葉亭四迷訳「四日間」です。今回触れなかった少し文字コードの話にも踏み込んでみたいと思います。お楽しみに!(^_^)/

投稿に、2 件のコメントがあります てふてふ君の症例検討会(その 1)

  • psitau

    UTFパッケージで上手くいき,OTFパッケージでは上手くいかない理由ですが,本質的な問題はmin10とjisとの差だと思われます.
    \documentclass{jsarticle}
    \newcommand{\kintou}[2]{%
    \leavevmode
    \hbox to #1{%
    \kanjiskip=0pt plus 1fill minus 1fill
    \xkanjiskip=\kanjiskip
    #2}}
    \begin{document}
    \kintou{1.05zw}{え゛}
    \end{document}
    を試すと上手くいかないことが分かります.ちょっと考えてみましたが,
    \newcommand{\dakuten}[1]{\leavevmode\rensuji{\hbox to 1zw{#1\hspace*{-0.25zw}゛}}}
    のようなマクロを用意しておき,\dakuten{え}とすると,OTFパッケージでも上手くいきます.
    (-0.25zwは適当に決めた数字です,あとoverfullがでますが,対処はしていません)

  • ゼファー生

    >psitau さんへ
    アドバイスありがとうございます。otf パッケージを使って、マクロを仕込むとうまくいくようです。ただ、utf パッケージに比べて、3割方、ファイルがでかくなりますので、引き続き utf を使うようにします。(どうしても表示できない文字が出てきたらその時に考えます。)マクロそのものは、利用させていただきました。

コメントをどうぞ!

 

 

以下の HTML タグ を使用できます。

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <font color="" face="" size=""> <span style="">