vine-users ML アーカイブ



[vine-users:073586] Re: フォン ト追加による不具合

  • From: 長南洋一 <cyoichi@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:073586] Re: フォン ト追加による不具合
  • Date: Mon, 05 Dec 2005 17:20:08 +0900 (JST)
長南です。

最近のフォント事情はさっぱりわからないので、以下はたぶん不正確不十分な
意見でしょうが……。

池田さんのメールより [vine-users:073582]
> 
> Xのドキュメントを見ながら、ttcフォントを追加してから以下の不具合が出て
> 困っております。もし、お気付きの点があればご助力頂ければ幸いです。
> 
> *Cannaで変換候補一覧内にリストが表示されない。(空白。変換は問題なく可能)
> *xfontselを実行すると以下のエラーとなる。
>  Warning: Unable to load any usable ISO8859 font
>  Error: Aborting: no font found
> 
> 
> 以下の流れでフォントを追加しました。フォントは正常に表示できます。
> 
> 1. /usr/X11R/lib/X11/fonts/TTF へ .ttc フォントを置く。
> 2. /usr/X11R/lib/X11/fonts/TrueType/ へフォントの .conf ファイルとttc
>    フォントへのシンボリックリンクを作成。
> 3. /usr/X11R/lib/X11/fonts/TrueType/ で mkfontscale と mkfontdir
>    を実行。
> 4. 3の直後あたりから不具合発生。3を行わず、xfontselを実行した時は正常
>    でした。

そのフォントは、何というフォントですか。
フォントの .conf ファイルというのは、/usr/X11R6/lib/X11/fonts/TrueType
/microsoft.ttfconf のようなものでしょうか。それとも、/etc/fonts/fonts.conf
みたいなもの?

とにかく、Vine 3.2 は新しいフォントが入ったとき、fonts.dir などを
/etc/rc.d/init.d/xfs のスタート時にこんなふうに自動的に作成しています
(一部だけ引用しますが、xfs 全体をお読みになっておいてください)。

  buildfontlist() {
    for d in $(/usr/sbin/chkfontpath --list | cut -f 2 -d ':') ;do
      if [ -d "$d" ]; then
         cd $d
         # Check if we need to rerun mkfontdir
         NEEDED=no
         if ! [ -e fonts.dir ]; then
            NEEDED=yes
         elif [ "x$(find . -type f -newer fonts.dir \! -name fonts.cache-1 2>/dev/null)" != "x" ]; then
            NEEDED=yes
         fi
         if [ "$NEEDED" = "yes" ]; then
            rm -f fonts.dir &>/dev/null
            if ls | grep -i "\.tt[cf]$" &>/dev/null; then
               # TrueType fonts found...
               if ls | grep "\.ttfconf$" &> /dev/null; then
                  mktcapdir $d *.ttfconf
               else
                  ttmkfdir . >fonts.scale
               fi
               mkfontdir -e /usr/X11R6/lib/X11/fonts/encodings \
                         -e /usr/X11R6/lib/X11/fonts/encodings/large . &>/dev/null
               chmod a+r fonts.scale fonts.dir
            fi

ですから、普通は新しいフォントを適当なディレクトリにコピーし、xfs を
再起動するだけで(X の再起動も必要かも)、他に何もしないでもよいのでは
ないかと思います。池田さんの場合は、ご自分で mkfontdir などをなさった
ために Vine が必要としている内容の fonts.dir などができなかったのでは
ないでしょうか。もっとも、池田さんの場合、xfs にまかせておけば、本当に
十分かどうかはわかりませんけれど。

# 老婆心から付け加えておきます。私の経験というか記憶では、フォントに
# よっては(xorg.conf あたりの設定にもよるのでしょうが)、xfontsel で
# そのフォントを選ぶと、X がフリーズしてしまうことがありました。
# ほかのマシンから telnet で入って、shutdown することはできましたが、
# ローカルのマシンではまったくキーボードが利かなくなり、電源を切るより
# ありませんでした。xfontsel を使うときは、お気をつけあれ。

-- 
長南洋一