KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
Beauty and harmony are as necessary to you as the very breath of life.
FrontPage › 윤곽선추출에의한글꼴제작
은광희님이 사용한 방식의 글꼴 제작 노하우를 정리한다.
  1. 비트맵 스캐닝에 의한 윤곽선 추출법 정리
  2. 차후에 발생할 수 있는 저작권 및 특허분쟁 소지를 완전히 제거한다.
  3. 최근에 널리 사용할 수 있는 FontForge / AutoTrace / potrace 의 장점을 십분 활용하여 좀 더 미려한 글꼴 제작
  4. 기타 현재 은글꼴에서 부족한 글꼴에 대한 확장.

글꼴 추출 방법

은광희님이 글꼴을 개발했을 당시에는 한글과 같은 잘 알려진 소프트웨어를 통해서 해당 글꼴에 대한 글자를 한글자씩 A4용지에 가득차는 크기로 비트맵으로 프린트했다고 한다.
  1. 이렇게 비트맵 프린트를 하면 종이에 프린트하는 것이 아니라 비트맵 파일이 얻어진다.
    • FreeType라이브러리를 사용하여 1000x1000 정도의 비트맵을 일괄적으로 생성할 수 있음.
  2. 비트맵 파일을 적당히 트리밍하고 윤곽선을 추출 후에 적당히 스캐일링하는 작업이 주된 작업.
    • AutoTrace, potrace 등등을 사용 (은광희님은 fontutils-0.6을 사용했다고 한다. fontutils는 AutoTracepotrace같은 윤곽선 추출 프로그램의 모태가 된 것으로 알려져있는 상당히 오래된 윤곽선 추출용 콘솔 툴)
  3. 이렇게 얻어진 일련의 윤곽선을 스크립팅에 의한 재조합으로 글꼴을 만듦
    • FontForge를 이용하여 좀 더 쉬운 스크립팅이 가능해졌다.
  4. 좀 더 강력한 글꼴 편집 프로그램을 통해 윤곽선을 simplify하거나 다듬을 수 있다.

윤곽선 추출

  • 알려진 공개툴은 윤곽선 추출이 완벽하지 않다. 그러나 예상보다는 상당히 완벽한 윤곽선을 얻을 수 있었다.
  • 가장 어려운 부분은 원래 글꼴을 되도록 완벽히 재현하는 것.
    • 여러번의 시행착오를 해보면 해당 이미지를 적당히 트리밍하고 스캐일링을 하면 시각적으로는 거의 일치하는 윤곽선을 얻을 수 있다.
    • 이때에 이러한 작업과정을 모두 기록 및 증거물로 보관하는 것이 중요하다 할 것이다. 왜냐하면 이러한 방식은 일반적인 글꼴을 제작할 때에 사용하는 방법과 동일하기 때문.
    • 글꼴툴을 어떤것을 사용하는지도 중요하다. 우연히 제작사와 똑같은 글꼴제작툴을 사용했다가는 그 결과물이 우연히 일치하는 것도 어느정도 가능하기때문.
  • 윤곽선 추출단계는 모두 스크립팅이 가능한 방법을 쓰도록 한다.

한글 자모 분리 및 재조합

  • 한글음절영역에 대해서는 UHC방식의 은글꼴을 얻기 위해서 글꼴을 자소별로 분리하고, 재조합 하는 알고리즘을 개발한다.
  • 이러한 조합 알고리즘은 비트맵 8x4x4, 6x3,2x4 조합의 확장으로 보면 된다.
    • 사실 여러 글꼴회사들은 자신들만의 독특한 조합법을 하나씩 가지고 있음.
    • 그러므로 이러한 조합법은 달리 특별할 것도 없기때문에 특허분쟁소지는 사실 물음표
    • 하지만 만일을 대비하기 위해서 새로운 조합법을 개발한다. 이 역시 8x4x4, 6x3,4 방식과 일맥상통
    • 최근 JN님의 옛한글 조합법은 8x3x5, 6x2x4 조합이 그 예이다.
    • 이러한 조합 방식을 좀더 완전한 형태의 문서로 만들어서 특허분쟁소지를 근본적으로 차단.

저작권 문제

현재 국내 및 미국 등등에는 글꼴의 Typeface는 보호받지 못하고 있는 실정이다. 따라서 복제가 아닌 이상, 이런 식의 스캐닝을 통한 윤곽선 추출은 기술상으로는 합법적이다. 현재까지 저작권이 보호받은 판례는 없다.

그러나 도의적인 책임 부분까지는 회피할 수 없다. 되도록이면 이러한 윤곽선 추출방법은 바탕체 류의 기본 글꼴에 대해서만 쓰도록 하는것이 나을 것이다.

은봄과 같은 경우는 원저작자와 양해를 구하고 아예 새롭게 다시 만들 수도 있을 것이다.

추출 예

potrace를 통한 추출의 예

최초 import시
  • gs1.png


Simplify 명령 수행 후
  • gs2.png

FreeType라이브러리를 사용하여 비트맵을 만든 후에 metric까지 일치시켜본 예) @ft.c.txt (8.24 KB)
  • ./ft foobar.ttf 궁 > g.pgm : 비트맵 이미지 만들기 (크기는 600x600)
  • potrace g.pgm -s -o g.svg : svg 추출
  • 비트맵만 잘 만들면 아무런 수정도 없이 완벽하게 기본적인 metric을 일치시킬 수 있었습니다.
  • 다음은 potrace 추출 후에 아무런 손도 대지 않은 그대로입니다. (상단 bearing이 잘 맞지 않음을 알 수 있습니다. 아직 만드는중임)
gs3.png

^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2011-06-08 21:37:02
Processing time 0.0425 sec