2008-09-30 5 views
0

저는 (Ruby를 사용하는) 게임을 개발 중이고 여러 언어로 사용할 계획입니다. 텍스트를 렌더링 할 때 가장 좋은 옵션이 무엇인지 궁금 해서요. 특히 내가 사용하는 것은 무엇이든 복잡한 글꼴 (특히 아랍어와 페르시아어)을 렌더링 할 수 있어야합니다.복잡한 글꼴을 렌더링 할 때 가장 좋은 옵션은 무엇입니까?

저는 freetype, graphite를 발견하고 윈도우 네이티브 API 함수 (크로스 플랫폼이 아닌 것은 괜찮습니다)를 사용해 보았습니다. 무엇을 가지고 가야하고 다른 트레이드 오프가 무엇입니까?

답변

1

글꼴을 비트 맵으로 래스터 화하는 방법을 찾고 있다면 Freetype과 Windows API 모두이 문제를 올바르게 처리 할 것입니다.

화면에 텍스트를 그리는 방법을 찾고 있다면 가능한 경우 Window의 기본 API로 이동하십시오. 양방향 텍스트와 악센트 등 모든 것들이 굉장히 어렵고 시간이 많이 걸리기 때문에이를 처리하는 API가 이상적입니다. 게임용으로 사용할 수 있는지 여부는 사용하지 않는 그래픽 API에 따라 다릅니다.

편집 : 전체 텍스트 문자열을 래스터 화하려면 win32의 DrawText를 사용해야합니다. 즉, 손을 가져야합니다. slightly dirty.

+0

원하는 언어로 된 문자열을 비트 맵 (화면에 렌더링 됨)으로 렌더링하는 API가 있습니까? 단순히 화면에 블리트 만합니까? DirectX 위에 추상화 API를 사용하고 있으며 drawPixel 및 drawImage 루틴 만 있습니다. –

+0

Windows API가 매우 쉽게 수행합니다. –

1

체크 아웃 www.freetype.org 왼쪽에서 오른쪽으로 쓰지 않는 글꼴을 처리합니다. 당신을 위해 글리프를 생성하지만 장치 (OpenGL/DirectX 등)에 렌더링해야합니다.

2

크로스 플랫폼 솔루션의 경우 Pango을 확인하십시오.