다음 이전 차례

5. 고스트스크립트에서 글꼴을 사용할 수 있게 하기

고스트스크립트에서 글꼴을 사용할 수 있게 하려면, 주어진 글꼴에 해당하는 파일이 어디에 있는지 고스트스크립트에게 알려주기만 하면 된다. 편집해야 할 파일은 /usr/share/ghostscript/version/Fontmap이다. 형식은 매우 간단해서, 한 번 읽어보면 거의 뻔하다.

5.1 Type1

타입1 글꼴을 추가하는 것은 간단하다. 글꼴이 있는 디렉터리에서 type1inst를 실행한다. type1instFontmap이라는 파일을 만들어 낸다. 이 파일을 고스트스크립트의 Fontmap 파일 뒤에 이어붙인다.

5.2 True Type

트루타입 글꼴을 추가하려면 약간 더 재주를 부려야 한다. 트루타입 글꼴의 이름을 알아내야 하기 때문이다. 한 가지 방법은 (무식한 짓이다, 슬프게도.) ttf2pt1를 써서 트루타입을 타입1으로 변환시킨 다음 afm에서 글꼴 이름을 얻어내는 방법이다. (더 효과적인 방법이 있을 테지만, 이 방법도 통한다. 꼴사납긴 하지만.) 다음과 같이 한다.

                ttf2pt1 -A fontname - 2 > /dev/null  |grep FontName
        
다음에는 이 목록을 고스트스크립트의 Fontmap 파일에 아래의 예와 같이 정확한 형식으로 추가한다.
        some-font       (/usr/share/fonts/subdirectory/somefont.pbf);
        
이런 방식으로 하면 되지만, 수백개의 글꼴을 다룬다고 해보자. 이런 작업은 짤막한 펄스크립트가 필요한 일이다.
#!/usr/bin/perl
# ttfontmap -- generate fontmap file for TrueType fonts
my $directory=shift || print STDERR "Usage: ttfontmap {directory}\n";

$directory=~s/\/$//;

for my $fontname ( glob ( "$directory/*.ttf" ) )
{
    open ( R, "sh -c \"ttf2pt1 -A $fontname - 2>/dev/null\" |" );
    while ( <R> )
    {
        if ( $_ =~ /^FontName/ )
        {
            s/^FontName\s*//;
            chomp;
            print "/" .  $_ . "    ($fontname);\n" ;
        }
    }
    close R;
}           
        
누구나 이 스크립트 를 다운받을 수 있다.

이 스크립트를 만들려면, 위의 부분을 잘라서 ttfontmap이라는 파일로 만들고, 이 파일을 /usr/bin 등등 자신의 PATH에 들어있는 디렉터리에 두기만 하면 된다. 사용 방법은 다음과 같다.

        ttfontmap directory > output_file
        
directory는 글꼴이 들어있는 디렉터리다. 위와 같이 하면 고스트스크립트의 fontmap 파일에 이어 붙일 수 있는 output_file 파일이 생긴다. 주의: 그저 다음과 같이 해도 된다고 생각할 수도 있다.
        ttfontmap directory >> /usr/share/ghostscript/version/Fontmap
        
하지만, 이렇게 하지 않기를 권한다. ( 실수로 ``>>`` 대신 ``>''라고 하면 무슨 일이 일어날까?)

5.3 글꼴 미리보기를 위해 고스트스크립트를 쓰기

글꼴을 고스트스크립트에서 쓸 수 있도록 하고 나면, 그 글꼴의 미리보기가 가능하다. 먼저 설치된 고스트스크립트 꾸러미 안에 있는 prfont.ps에 대해 고스트스크립트를 실행시키고, 고스트스크립트 글꼴에 다음과 같이 입력한다.

        /Fontname DoFont
        
( FontName은 미리보기를 하고 싶은 글꼴이 고스트스크립트에서 갖는 이름이다.) gs를 기동시키는 방법은 이밖에도 여러 가지가 있다. 예를 들면 gv처럼 좀 더 멋진 포스트스크립트 뷰어를 써서 볼 수 있도록 포스트스크립트 파일을 만들기를 원한다면, 다음과 같이 한다.
        gs -sDEVICE=pswrite -sOutputFile=somefile.ps  prfont.ps
        
이렇게 한 다음에는 출력된 파일을 인쇄할 수도 있다.


다음 이전 차례