KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
Alimony and bribes will engage a large share of your wealth.
FrontPage › CygWin에서설치하기/obsolete
CygWin에서설치하기 페이지의 내용을 갱신하면서 이전 내용을 보관하기 위하여 만든 페이지입니다(out-of-date).


ttf2pk/ttf2tfm 설치

ttf2pk는 트루타입 글꼴로부터 PK 픽셀 비트맵 폰트 파일을 만들어내는 FreeType 유틸리티이다. 한글 트루타입을 잘 사용하기 위해서는 이 유틸리티가 반드시 필요한데, 문제는 정식 버전에는 없는 몇 가지 패치된 기능이 필요하다는 것이다.[1] ttf2pk 패치는 모두 세 가지가 KTUG에서 이루어졌다.
  1. ChoF 님에 의한 ligature 패치 (이것은 1.5 버전에 받아들여졌다.)
  2. ChoF 님에 의한 Omega 패치 <!>
  3. WkPark 님에 의한 FreeType 2 패치

----
  • [1] 참고로, 현재의 1.5 버전에서는 ligature 패치가 이루어져 있고 대부분의 TeX 배포판은 이 버전을 포함하고 있다. MiKTeX 역시 마찬가지이다.

이 가운데 Omega <!> 패치가 반드시 이루어져야 트루타입 글꼴을 Omega/Lambda에서 사용할 수 있다. WkPark 님의 FreeType 2 패치까지 적용하기로 하고, 다음 스크립트를 이용한다. 이것은 KTUGBoard:1067에 있는 것을 조금 수정한 것이다. FreeType 2 패치가 이루어지면 OTF 파일을 다룰 수 있다.
<!> 아래 스크립트에서 박원규 님이 원래 만들어두신 것은 주석처리된 부분인데, CygWin에서 컴파일할 때 발생하는 오류를 제거하기 위해 Makefile.in을 조금 수정한 것이 아래 있는 주소이다.

wget -N \
http://aleron.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.9.tar.gz

wget \
#http://chem.skku.ac.kr/~wkpark/project/ktug/ttf2pk-freetype2_20030314.tgz
http://my.ktug.or.kr/~karnes/testtest/ttf2pk-freetype2_20030314_2.tar.gz

wget \
http://ftp.ktug.or.kr/pub/ktug/freetype/contrib/ttf2pk-1.5-20020430.patch

tar xzvf freetype-2.1.9.tar.gz

cd freetype-2.1.9
mkdir contrib
tar xzvf ../ttf2pk-freetype2_20030314_2.tar.gz -C contrib
sh configure --prefix=/usr/local

make
# freetype2와 static하게 링크되게 하였습니다. 설치할 필요 없습니다.

cd contrib/ttf2pk-freetype2

patch -p1 <../../../ttf2pk-1.5-20020430.patch
# ofm패치를 하려면 위 주석표시를 제거

# 아래는 자신의 환경에 맞추어야 합니다.
sh configure --with-kpathsea-include=/usr/include/kpathsea \
   --with-kpathsea-lib=/usr/lib

make
cp ttf2tfm.exe ../../..
cp ttf2pk.exe ../../..

위의 내용 전체를 rules.sh로 저장한 다음 실행(./rules.sh)하면 간단히 끝난다. 약간의 경고가 나오지만 무시한다. 실행 디렉토리에 만들어진 ttf2pk.exettf2tfm.exe/usr/local/bin으로 옮긴다. 이미 이 실행파일들이 있다면 이름을 변경해둔다.

이마저 귀찮으신 분을 위한 방금 컴파일한 실행파일 바이너리 => Uploads:ttf2pk-cygwin-binaries-20050829.zip

local texmf 설정

우리는 별도의 사용자 texmf 설정을 하지 않고 teTeX의 기본 설정을 그대로 이용하려 한다. teTeX이 설치되면 기본 설정은 다음과 같이 되어 있다.
 $TEXMFMAIN = /usr/share/texmf
 $TEXMFDIST = /usr/share/texmf
 $TEXMFSYSCONFIG = /usr/share/texmf
 $VARTEXFONTS = /var/cache/fonts
 $TEXMFSYSVAR = /var/lib/texmf

 $TEXMFLOCAL = /usr/local/share/texmf
 $TEXMFHOME = $HOME/texmf
 $TEXMFVAR = $HOME/.texmf/var
 $TEXMFCONFIG = $HOME/.texmf/config
이 가운데 위의 다섯 개는 건드릴 필요 없고 아래의 네 개를 사용자가 설정하여 사용한다. 만약 $HOME/.texmf 등이 만들어져 있지 않다면 직접 만들어준다.
$> cd ~
$> mkdir -p .texmf
$> cd .texmf
$> mkdir -p var
$> mkdir -p config
<!> $HOME 이란 사용자의 홈 디렉토리를 말한다. 위의 cygwin.bat에서 이 디렉토리가 정의되어 있는데, 사용자의 User name이 karnes라면 일반적으로 /home/karnes이다. 윈도 경로로는 C:\cygwin\home\karnes이지만, 일단 CygWin bash shell에 올라오면 유닉스 스타일의 경로명을 사용한다. 이 디렉토리는 shell 상에서 ~으로도 참조된다.
$> cd ~

그 다음, 필요한 설정 파일들을 복사하거나 새로 만든다. 필요한 파일은 dvipdfmx.cfg, ttf2pk.cfg, updmap.cfg, texmf.cnf, fmtutil.cnf 등이다.) 다음과 같이 복사하면 된다.
복사될 파일 복사할 위치
/usr/share/texmf/web2c/texmf.cnf $HOME/.texmf/config/web2c/texmf.cnf
/usr/share/texmf/web2c/fmtutil.cnf $HOME/.texmf/config/web2c/fmtutil.cnf
/usr/share/texmf/dvipdfm/config/dvipdfmx.cfg $HOME/.texmf/config/dvipdfm/config/dvipdfmx.cfg
* $HOME/.texmf/config/ttf2pk/config/ttf2pk.cfg
/usr/share/texmf/web2c/updmap.cfg $HOME/.texmf/var/web2c/updmap.cfg

ttf2pk.cfg의 설치는 다음과 같이 한다. ttf2pk 소스 data 디렉토리 내의 모든 파일을 $HOME/.texmf/config/ttf2pk/로 복사한다.

<!> ttf2pk 실행파일만을 다운로드받으신 분은, 다음 파일을 다운로드받아서 풀면(tar zxvf ttf2pk-data.tar.gz) ttf2pk 디렉토리를 얻을 수 있다. 이 디렉토리의 내용을 $HOME/.texmf/config/ttf2pk/로 복사한다. Uploads:ttf2pk-data.tar.gz

<!> 참고 <!> CygWin은 Windows TTF 폴더를 자동으로 읽지 않는다.
  1. texmf.cnf에서 /cygdrive/c/windows/fonts를 truetype 폰트 서치 디렉토리로 설정해두는 방법이 있다. 이 가이드에서는 이 방법을 사용한다.
  2. ~/texmf-local/fonts/truetype/WindowsTTF 디렉토리를 만들고 C:\Windows\Fonts에 있는 *.ttf를 여기에 심볼릭 링크를 걸어두는 방법도 있다. 1번의 방법으로 잘 되지 않는 경우에는 이 방법을 사용한다.
    #> cd ~
    #> mkdir -p ./.texmf/var/fonts/truetype/WindowsTTF
    #> ln -s /cygdrive/c/Windows/Fonts/Batang.ttc ./.texmf/var/fonts/truetype/WindowsTTF/batang.ttc
    #> ln -s /cygdrive/c/Windows/Fonts/Gulim.ttc ./.texmf/var/fonts/truetype/WindowsTTF/gulim.ttc
    #> mktexlsr
    


texmf.cnf의 수정


$HOME/.texmf/config/web2c/texmf.cnf를 다음과 같이 수정한다.

1. 메모리 설정

큰 규모의 한글 문서를 처리하려 한다면 memory 설정도 아주 조금만 바꾼다. 이 설정사항은 480행 근처에 있다.
main_memory = 1500000 % modified
%main_memory = 1000000 % words of inimemory available; also applies to inimf&mp 

2. 윈도 폰트 폴더를 트루타입 탐색 디렉토리로 추가

윈도 폰트 디렉토리를 트루타입 탐색 폴더로 포함하고자 한다면,(306행 근처)
% TrueType outline fonts.
TTFONTS = .;$TEXMF/fonts/truetype//;/cygdrive/c/Windows/Fonts

3. CMAPINPUTS 변수 추가

(만약을 위해서) 390행 근처 Part 1이 끝나는 부분에 다음 사항을 추가한다.
% DVIPDFMx
CMAPINPUTS = .;$TEXMF/fonts/cmap//;/cygdrive/c/PROGRA~1/ADOBE/ACROBA~1.0/RESOURCE/CMAP
<!> 여기서는 CMAP 파일을 찾는 곳을 지정한다. gs7.07이 설치되어 있는 것이 아니라면 AdobeReader의 하위 디렉토리를 여기에 써주어야 한다. 예를 들면 위와 같다. 반드시 8.3 도스 경로명으로 써준다.

4. 저장

저장한다.

texconfig의 실행

여기서 texconfig를 실행한다. 실행 후에 엔터를 누르라는 메시지가 보이면 엔터를 친다. runtexconfig.jpg

여기서 rebuild filename database를 맨먼저 실행한다. show configuration으로 현재 설정을 확인할 수 있다.

texconfig를 빠져나와서 다음 명령을 실행한다. 반드시 texconfig를 빠져나와서 실행하도록 한다.
$> fmtutil --all

texmf-KTUG의 설치

우리는 한글 환경을 texmf-KTUG으로 구축하려 한다. 이 texmf tree는 KTUG의 표준 한글 환경 프로젝트의 일환으로 제공되는 것으로서 크기가 크다는 점이 단점이지만 가능한 거의 모든 한글 환경을 모두 포함하고 있는 all-in-one 시스템이다. 종래 많이 사용되어 온 HLaTeX의 1.0.1 버전과 DHUcsMemhangulClass까지 포함하고 있으므로 한글 사용에 관한 한 다른 방법을 생각해야 할 필요가 없다. 은글꼴도 포함되어 있다. KTUGCollectionProject 페이지에서 공개판 texmf-KTUG을 내려받는다. 적어도 texmf-KTUG-*.tar.gzKTUG_BIN*.tar.gz는 반드시 내려받아야 한다.

KTUG_BIN의 설치

$HOME에 내려받았다고 할 때 내려받은 파일을 다음과 같이 푼다.
$> tar zxvf KTUG_BIN-*.tar.gz
-*는 내려받은 파일 이름에 맞게 써주어야 한다.(탭키로 완성하면 될 것임) 다음과 같이 두 개의 파일을 컴파일한다.
$> cd KTUG_BIN
$> gcc -o hbibtex hbibtex.c
$> gcc -o hmakeindex hmakeindex.c
그리고 이 파일들을 /usr/local/bin으로 옮긴다.
$> mv ./* /usr/local/bin/
필요하다면 실행 퍼미션을 열어주어야 하는데 아마도 그럴 필요가 없을 것이다.

texmf-KTUG의 설치

$HOME에 내려받았다고 할 때 다음과 같이 하여 파일을 풀어준다.
$> cd ~  (파일을 내려받은 디렉토리)
$> tar zxvf texmf-KTUG-*.tar.gz
-*는 내려받은 파일 이름에 알맞게 써준다. 풀어서 생겨나는 디렉토리를 $HOME/texmf로 심볼릭 링크를 걸어준다. 만약 texmf-KTUG이 다른 위치에 있다하더라도 역시 $HOME/texmf로 심볼릭 링크를 걸어야 한다.
$> ln -s ./texmf-KTUG ./texmf

dvipdfmx.cfg의 수정

~/.texmf/config/dvipdfm/config/dvipdfmx.cfg를 에디터로 열어서 138행의 주석을 제거한다.
D  "gs -q -dNOPAUSE ....

마지막 행에 다음 한 줄을 추가한다.
f cid-KTUG.map 

ttf2pk.cfg의 수정

~/.texmf/config/ttf2pk/ttf2pk.cfg를 다음과 같은 내용으로 편집한다.
% this is the map file for ttf2pk
map +ttfonts.map
map +KTUG-ttf2pk.map

updmap.cfg의 수정

~/.texmf/var/web2c/updmap.cfg에 다음 내용을 추가한다.
Map uhc-base.map
Map uhc-extra.map
Map wan-down.map
Map AdobePiStd.map

Fontmap 만들기

여기까지 수정이 끝났으면, 우선 Filename Database를 갱신한다.
$> mktexlsr

또는
$> texhash

다음 명령을 실행한다.

$> updmap

unicode 패키지의 설치

teTeX에는 unicode 패키지가 들어 있지 않다. 그러므로 dhucs를 사용하려면 이것을 설치해주어야 한다. 먼저 .texmf/var/tex/latex 디렉토리를 만든다. 그런 다음 이 디렉토리에 들어가서 다음 명령을 차례로 수행한다.
$> pwd
   (~/.texmf/var/tex/latex 위치에 있어야 함)
$> wget http://ftp.ktug.or.kr/tex-archive/macros/latex/contrib/unicode.zip
$> unzip unicode.zip

Refresh FNDB

이제 TeX 사용 설정은 끝났다. 다음 명령을 실행한다.
$> mktexlsr

^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-02-19 01:38:10
Processing time 0.0821 sec