LaTeXのTips...
JISコードにない文字を合成する
(2000.06.06)

概要

 LaTeXの機能を活用して、JISコードには存在しない字を合成する。 濁音・半濁音のつかない字にも濁音・半濁音をつけられるようにしてしまう というもの。

 著作権を云々するのはナンセンスだと思いますが(大したことのない 工夫だし)、いちおう主張しておきます。
改作自由、瑕疵無保証です。

適用範囲

pLaTeX 2.1.8

解説

 「あ゛」とか「ぬ゛」とかいう字が、漫画などでは、しばしば使われます。 なかなか雰囲気のある「字」だし、この表現に込められた感情とか感覚とかが まざまざと実感できる、すぐれた表現ではないかと思います。

 が、残念なことに、これらの「字」は、コンピュータ上で普通に JISコードを並べるだけでは表せません。 単独の「゛」「゜」は存在しますが、「あ」や「ぬ」とは 別の字であるところが致命的です (横書きだとそれなりに読めなくもありませんが、縦書きを想像して ください)。 やはりこういうものは「一文字」として表したい。

 そこで、任意の一文字に「゛」「゜」を被せるマクロを作ってみました。

コード

  1: \makeatletter
  2: \newcommand{\daku}[1]{%
  3: \iftdir%
  4:  \@tfor\moji:=#1\do{%
  5:   \moji\raisebox{0.7zw}{\kern-1zw゛}}% 縦方向の場合
  6: \else%
  7:  \@tfor\moji:=#1\do{%
  8:  \moji\kern-0.3zw ゛\kern-0.7zw%}
  9: \fi%
 10: }
 11: \makeatother
 12: 
 13: \newcommand{\handaku}[1]{%
 14: \iftdir%
 15:  \@tfor\moji:=#1\do{%
 16:   \moji\raisebox{0.7zw}{\kern-1zw゜}}% 縦方向の場合
 17: \else%
 18:  \@tfor\moji:=#1\do{%
 19:   \moji\kern-0.3zw ゜\kern-0.7zw}%
 20: \fi}%

補足

 当然ながらこの技はLaTeX(TeX)でしか使えません。 MS Wordなどで似たようなことができるのかどうか……

 一応、引数として複数の文字をとれる(複数の文字に連続して 濁音/半濁音をつけられる)ようにしてみました。(2000.08.09)

 このマクロ、しかし、環境によっては問題があるようです。調査中…… ですが、解決はいつのことやら。

(2000.06.06)

LaTeXのTipsへ
参考図書へ
コンピューター言語研究所へ
トップページへ
(C) ©Copyright Noboru HIWAMATA (nulpleno). All rights reserved.