2016-08-05 2 views
0

화면이 첨부 된 Raspberry Pi에 있습니다.TTF 글꼴 래스터 화

X를 사용하는 대신 픽셀 데이터를 프레임 버퍼에 직접 쓰고 있습니다. 나는 이미지와 기본 도형을 그릴 수 있었고, 블렌딩을 사용하고, 이중 버퍼링을 사용할 수있었습니다.

어디서 문제가되는지는 그림 텍스트입니다. 화면은이 수준의 바이트 배열 일 뿐이므로 글꼴, 크기, 텍스트 등을 가져 와서 비트 맵으로 변환하는 방법이 필요합니다 (실제로는 bool[]width/height은 추가 읽기를 저장하므로 바람직 함)/기록합니다.

나는 어떻게 접근 해야하는지 전혀 몰라. 내가 지금까지 고려했습니다

...

  • 고정 폭 글꼴 및지도 책/spritemap 사용. 작동합니다 이미 이미지를 읽을 수는 있지만 단색 글꼴의 시각적 인 매력은 제한적입니다. 글꼴을 추가하는 것은 힘들 것입니다.
  • 고정 폭 글꼴, 아틀라스 및 마스크를 사용하여 각 문자의 위치를 ​​나타냅니다. 가변 폭 글꼴을 지원 하겠지만 스케일링은 손실이 될 수 있으며 아틀라스/마스크 생성을 자동화 할 수 없다면 유지 보수의 악몽처럼 보일 수 있습니다.

이전에 이와 같은 작업을 수행 한 사람이 있습니까?

라이브러리가 필요한 경우 필자도이 라이브러리를 사용할 수 있지만 심각한 Pi 프로젝트보다 Pi를 이해하는 데 많은 연습이 필요하므로 설명/자습서를 선호합니다.

+0

PIL (pillow) 모듈은 트루 타입 글꼴을 래스터 화 할 수 있으므로 필요에 따라 글꼴 문자의 비트 맵을 만들 때 사용할 수 있습니다. – martineau

답변

0

Cairo 그래픽 라이브러리는 모든 그래픽 용으로 사용하거나 글꼴 토대를 생성하는 도구로 사용해보십시오. Cairo는 TTF 글꼴을 사용하여 글꼴을 렌더링하는 것은 물론 다른 유용한 그래픽 작업을 광범위하게 지원합니다.

하위 레벨에서는 Freetype 라이브러리를 사용하여 글꼴을로드하고 글꼴을 직접 렌더링 할 수 있습니다. 그러나 함께 작업하는 것이 더 어렵습니다.