2012-12-01 5 views
4

TFT LCD (480x800px)로 임베디드 플랫폼 (STM32F407)에서 작업 중이며 사용자 인터페이스를 최종 사용자에게 다소 사용자 정의 가능하게 만들고 싶습니다. 나는 글꼴의 가장 좋은 소스가 가장 일반적인 Windows 호환이 될 것이라고 생각했다.Microsoft 트루 타입 글꼴 파일 디코딩

내 현재 구현은 내 자신의 사용자 지정 그리기 글꼴을 이진 형식으로 사용하며 문자 너비와 ASCII 값을 제공하지만 내 자신의 글꼴을 비트별로 그리는 데 필요한 설명자 테이블은 지루합니다.

SD 카드에서 트루 타입 글꼴 파일을 읽고 그 안의 다른 크기의 글립 문자를 사용하고 싶습니다만 실제로이 마법을 달성하는 방법에 대한 해협 전방 구현을 보지 못했습니다. 누군가가 내가 뭘 찾고있는 좋은 c/C++ 예제를 가르쳐 줄 수 있습니까?

꼬임 문제를 해결하는 방법으로, '#'을 픽셀로 사용하여 선택한 글꼴로 입력을 인쇄하는 간단한 gcc 명령 줄 프로그램을 만들고 싶습니다. 그렇게하면 구현에 대해 걱정할 수 있고 팝업 될 수있는 임의의 임의의 버그는 없습니다.

아무도 도와 줄 수 있습니까?

+0

IIRC [ttf] (http://www.microsoft.com/typography/tt/ttf_spec/ttch02.doc)에는 반드시 [래스터 데이터] (https://developer.apple.com/fonts /TTRefMan/RM06/Chap6bdat.html) (가독성을 높이기 위해 8pt 이하의 크기가 필요할 수도 있습니다). 응용 프로그램에 힌팅 및 베 지어 렌더링 기능을 추가 하시겠습니까? :) – vladr

+0

그래, TTF는 주로 벡터 형식이며, 다소 복잡한 형식입니다. 렌더러를 작성하는 것은 가능하지만 이미지 파일을 사용하여 글꼴을 정의하거나 FNT (Windows) 또는 BDF (UNIX)와 같은 비트 맵 글꼴 형식을 사용하는 것이 훨씬 나을 것입니다. – duskwuff

+0

@duskwuff 와우 나는 내가 바퀴를 다시 발명했다고 생각해. [AngelCode의 BMFont] (http://www.angelcode.com/products/bmfont/) 및 [Useage] (http://www.gamedev.net/topic/330742-quick-tutorial-variable-width-bitmap-fonts /) 정확히 내가 한 번에 한 픽셀 씩 페인트하고 각 문자에 대해 수학을하는 것만 제외하면 쓴 것입니다 ... FNT 형식의 메모를 보내 주셔서 감사합니다! – uMinded

답변

1

duskwuff는 다음과 같이 설명합니다. TTF는 주로 벡터 형식이므로 렌더러를 작성해야합니다. 이미지 파일을 사용하여 글꼴을 정의하거나 FNT (Windows) 또는 BDF (UNIX)와 같은 비트 맵 글꼴 형식을 사용하는 것이 좋습니다.

제 질문에 대한 답변은 AngelCode's BMFont & Useage입니다. 이렇게하면 설치된 문자 집합에서 선택 문자를 선택하고 글꼴로 혼합하고지도 파일로 이미지를 각 문자로 내 보냅니다. 사용하기 쉽다.

4

아마 Freetype 라이브러리를 사용할 수 있습니다.

+0

OP에게 자신이 [STM32F407] (http://www.element14.com/community/docs/DOC-44837/l/stm-datasheet-for-stm32f407-mcu)에서 사용할 수있는 비 분리형 플래시 저장 용량을 물어보십시오. 키트를 먼저 사용하십시오. :) – vladr

관련 문제