2010-12-31 2 views
3

이 내용은 다음과 같습니다. http://en.wikipedia.org/wiki/Code_page_437 MSDOS의 경우 Linux 시스템과 비슷한 것이 있습니까? userland 프로그램을 통해 해당 글꼴 데이터에 액세스 할 수 있습니까? 실제로 글꼴을 정의하는 실제 비트 패턴에 액세스 할 필요가 있으며 직접 렌더링을 수행합니다. 나는 꽤 확신한다. 무언가가처럼 존재하지만, 정확히 무엇인지, 어떻게 접근 할 수 있는지 찾을 수 없었다. 결국, 예를 들어 텍스트 모드 콘솔 폰트가 어딘가에 있어야하고, 나는 실제로 "원시적으로"접근 할 수 있기를 희망한다. 어떻게 든 사용자 영역 프로그램을 위해서.Linux에 사용자 수준의 액세스 가능한 글꼴 테이블이 있습니까?

잊기 전에 나는 C로 프로그램을 프로그래밍하고 "표준"linux/posix 개발 헤더에만 액세스 할 수 있습니다. 내가 스스로 생각해 낼 수있는 유일한 방법은/usr/share/fonts에있는 글꼴을 사용하는 것입니다. 그러나 거기에서 데이터를 추출하기 위해 자체 구현을 작성하지 않아도 실제로는 소리가 나지 않습니다. 가능한 최소한의 바이트로이 작업을 수행하기를 원할 것입니다. 따라서이 작업을 수행하는 표준 방법을 찾은 채 남았습니다.

내 자신의 8x8 ASCII 호환 글꼴을 프로그램과 함께 저장하는 것은 실제로 불가능합니다 (글꼴을 저장하기 위해 단지 1024 바이트 (128 문자 * 8x8 비트)가 필요합니다. 이는 엄격한 크기에서는 확실히 받아 들일 수 없습니다 한계 (일부는 < 1024 바이트의 코드 + 데이터)로 작업하고 있으므로 시스템 자체에 저장된 글꼴 데이터를 사용하면 작업이 크게 단순 해집니다.

답변

0

freetype은 모든 Linux에서 일반적으로 설치해야합니다.

+0

프로그램 공간에 데이터를 할당하여 1024 바이트 제한을 초과하게 만듭니다. – peoro

+0

그럼 다른 방법은 없습니다 :-) – ismail

+0

흠, 흥미로운 것 같습니다. 좀 봐야 겠어. 하지만, 라이브러리에 대한 함수 호출보다는 오버 헤드가 많기 때문에 일부 파일에 액세스하고 버퍼에 직접 데이터를 읽는 "기본"방법을 선호합니다. 그러나 freetype은 확실히 크기가 제한되어 있지 않은 프로그램에 대해서는 올바른 선택이며, 아마도 이것도 가능합니다. 감사. 편집 : 데이터를 할당하는 것은 문제가 아니며 프로그램과 함께 번들링됩니다. – zxcdw

1

나는 consolechars 소스를 살펴 봤는데 이런 종류의 물건을위한 전체 라이브러리가있는 것처럼 보입니다. 우분투에서는 libconsole이라는 이름이고 헤더 파일 (lct/font.h와 같은)은 console-tools-dev 패키지에 있습니다. 당신이 필요로하는 것과 정확히 같은 글꼴을 찾아서 불러들이는 기능이 있습니다. 그리고 consolechars 소스는 그것을 사용하는 좋은 예입니다.