2009-09-29 7 views
1

나는 자신의 윈도우 시스템과 렌더링 라이브러리가있는 임베디드 시스템에서 일하고있다. 언젠가 언젠가 우분투를 설치하기 전에 놀랍게도 LCD 서브 픽셀 렌더링이 있습니다. 내 장치에서 실제로 멋지게 보입니다. 왜냐하면 그것은 매우 읽기 쉽기 때문입니다.linux에서 LCD (Windows의 cleartype) 용 글꼴 서브 픽셀 렌더링 방법은 무엇입니까?

현재 freetype에서 특정 글리프가 필요합니다. freetype은 알파 값이있는 메모리 버퍼를 하나 제공하며, 서브 픽셀 렌더링이 불가능합니다. 내가 가지고있는 것은 정상적인 반올림 글꼴이다. 서브 픽셀 렌더링에서와 마찬가지로 렌더링의 대부분의 픽셀은 적색으로, 오른쪽으로는 파란색으로 나타납니다 (가정 화면은 RGB 임).

freetype이 현재 픽셀이 왼쪽 또는 오른쪽 또는 중앙 위치인지 여부에 대한 정보를 제공 할 수있는 방법이 있습니까?

감사합니다. 당신이 지적으로

답변

1
+0

freetype으로 LCD 앤티 앨리어싱을 수행하는 방법에 대한 자습서. freetype을 사용하여 글꼴을 렌더링하고 있습니다. freetype 2를 사용하여 글꼴을 그리는 자체 래퍼를 만들었습니다. – SunnyShah

+1

튜토리얼을 모르지만 FT_RENDER_MODE_LCD를 사용한다고 가정하면 다소 효과가 있습니다. –

1

할 수있는, 당신이 사용하고있는 데스크탑 환경 (GNOME, KDE는, 무엇이든)이을 구현할 수있다. 설정은 환경에 따라 다릅니다. 자신의 코드에서이를 수행하는 방법, 당신은 창 관리자가하는 같은 루틴 (GNOME의 GTK +, KDE에 Qt는, 등)을 사용하거나이 FreeType 또는 SDL_ttf 같은 별도의 라이브러리를 사용할 수 있습니다에 관해서는

. 앤티 앨리어싱 (Antialiasing) - ClearType은 Microsoft 고유의 특허받은 알고리즘이므로 일반적으로이 라이브러리에서 선택 사항이며 속도를 위해 기본적으로 비활성화되어 있습니다.

+0

ClearType은 (Microsoft에서 구현 한) 서브 픽셀 렌더링을 구체적으로 나타냅니다. 서브 픽셀 렌더링과 앤티 앨리어싱은 완전히 다른 두 가지입니다. –

1

저는 libcairo가 antialiasing을하는 우분투의 대부분의 GTK 어플리케이션의 맨 아래에 있다고 생각합니다. 나는 서브 픽셀 렌더링이 LCD 화면을 위해 특별히 수행되는지 여부는 사용자가 선택한 것이지 응용 프로그램 작성자가 아니라고 생각한다. 사용자는 System -> Preferences -> Appearance ("gnome-appearance-properties"바이너리로 수동 실행 가능)의 "Appearance Preferences"의 "Fonts"탭을 통해이를 제어하고 "LCDs (Subpixel Smoothing) "옵션.

어쩌면 응용 프로그램이이 설정을 스스로 재정의 할 수있는 방법이 있을까요? 앱이 사용자가 어떤 종류의 디스플레이를 사용하고 있는지를 제어하지 않기 때문에 왜 그들이 원하는지 확실하지 않습니다.

+0

임베디드 시스템에서 일하고 있습니다. 장치에 그놈이 없습니다. 그놈이 할 수있는 것처럼, 이것에 대한 몇 가지 오픈 소스 구현이 있어야합니다. 지금은 freetype 2를 사용하여 글꼴을 그리는 중입니다. 코드를 작성하여 제 devide에 넣을 수있게하려고합니다. 감사. – SunnyShah