|  Linux 
            Tips | 
        
         
            | 
           
             fonts.dirファイルを作成するには 
            北浦訓行 
              2003/3/13 
           | 
        
      
       X Window SystemでTrueTypeフォントを利用するときは、利用したいTrueTypeフォント用のfonts.dirファイル(フォントのインデックスファイル)が必要となる。fonts.dirファイルの内容は、
        
      
         
          kochi-gothic.ttf -misc-Kochi Gothic-medium-r-normal--0-0-0-0-c-0-iso10646-1 | 
        
      
      のように難解な書式になっている。これを一から作成するのは難しいので、専用のツール(ttmkfdirコマンド)を利用する。例えば、フリーで使用できるモトヤ(http://www.motoyafont.jp/)の「モトヤシーダ1」のfonts.dirを作成するには、専用のサブディレクトリを作って、以下のコマンドを実行する。
      
         
          # ttmkfdir > fonts.dir 
            # cat fonts.dir 
            2 
            MTXc1kp.ttc -Motoya Co. ,LTD.-FMotoyaCedar-medium-r-normal--0-0-0-0-c-0-ascii-0 
            MTXc1kp.ttc -Motoya Co. ,LTD.-FMotoyaCedar-medium-r-normal--0-0-0-0-c-0-iso10646-1 | 
        
      
       Red Hat LinuxやVine Linuxには、ttmkfdirコマンドが最初からインストールされているが、Turbolinuxはインストールされない。従って、ソースファイルをダウンロードして、コンパイルする必要がある。
      http://www.joerg-pommnitz.de/TrueType/ttmkfdir.tar.gz
       上記のURLからttmkfdir.tar.gzをダウンロードして展開する。
      
         
          $ cd /tmp/ttmkfdir 
            $ tar zxf ttmkfdir.tar.gz 
            $ ls 
            Makefile  panose.h    ttmkfdir.linuxbin.glibc2*  ttos2val.h 
            README    ttmkfdir.c  ttmkfdir.tar.gz* | 
        
      
       次にmakeを行うわけだが、その前にMakefileを変更する必要がある。そうしないと、gccでコンパイルエラーが発生する。viなどのテキストエディタでMakefileを開いて、1行目と2行目を以下のように訂正する。
      
         
          FREETYPE_BASE=../freetype-1.1 | 
        
         
          |       ↓ | 
        
         
          FREETYPE_BASE=/usr | 
        
         
          | 1行目 | 
        
      
      
      
         
          FREETYPE_INCL=$(FREETYPE_BASE)/lib | 
        
         
          |       ↓ | 
        
         
          FREETYPE_INCL=$(FREETYPE_BASE)/include/freetype | 
        
         
          | 2行目 | 
        
      
       そして、makeコマンドを実行する。
      
         
          $ make 
            gcc -Wall -pedantic -I/usr/include/freetype   -c -o ttmkfdir.o ttmkfdir.c 
            gcc -o ttmkfdir ttmkfdir.o -L/usr/lib/.libs -lttf -s | 
        
      
       何のエラーも表示されなければ、コンパイルは完了だ。rootでログインして、作成されたttmkfdirコマンドをパスの通ったディレクトリにコピーする。
      
         
          $ su 
            $ Password: 
            # cp ttmkfdir /usr/bin 
            # exit | 
        
      
       なお、この方法で作成したttmkfdirコマンドは、拡張子が「ttc」のファイルを認識しないため、モトヤシーダ1のように拡張子がttcのフォントは、拡張子が「ttf」のシンボリックリンクを作成しなければならない。Vine 
        Linuxにインストールされているttmkfdirコマンドも同様だ。
      
         
          $ ln -s MTXc1kp.ttc MTXc1kp.ttf 
            $ ttmkfdir > fonts.dir | 
        
      
       しかし、Red Hat Linux 8.0にインストールされているttmkfdirコマンドは、拡張子がttcのTrueTypeフォントも認識するため、上記のようにシンボリックリンクを作成すると、fonts.dirの内容が重複してしまうので注意が必要だ。
      
      
|  Linux Squareフォーラム Linux Tipsカテゴリ別インデックス | 
 
	
		Linux & OSS 記事ランキング
		
		
			本日
			月間