2010-03-03 3 views
4

linux/Debian 시스템에 설치된 모든 글꼴을 나열하는 방법을 찾고 있습니다. 그런 다음이 글꼴을 사용하여 일부 문자열의 이미지를 생성합니다. 나는 모두 내가 종류의 각 부분을 수행하는 방법을 참조로 조언을 찾고 있어요,하지만 할 수 없습니다 :Python을 사용하여 리눅스 시스템에서 각 글꼴에 대한 이미지를 생성하십시오.

:

  1. UNIX 시스템에서 모든 글꼴을 나열하려면, xlsfonts 트릭을 할 수 있습니다 수입 OS
    list_of_fonts = 일은 os.popen ("xslfonts").의 readlines()

  2. 이 글꼴을 사용해서 이미지에 문자열을 렌더링하기 위해, 나는 PIL (파이썬 이미징 라이브러리)을 사용하고 ImageFont 클래스 수 있습니다. xlsfonts 정상화 글꼴 이름의 종류를 제공하고, 둘 사이의 대응이 명확하지 보인다 않는 반면

그러나, ImagesFont.load 파일 이름, 기대 (나는 xlsfonts의 출력으로 명명 된 파일을 내 시스템을 검색하려고 , 결과없이).

누구나 내가 할 수있는 아이디어가 있습니까? 감사!

답변

1

pygtk 패키지를 통해 pango를 사용하여이를 수행 할 수 있습니다. Pango는 글꼴을 나열하고 렌더링 할 수 있습니다.

+1

판고가 감사하는 것처럼 보입니다. –

1

가장 좋은 방법은 시스템의 모든 글꼴에서 find을 수행 한 다음 해당 목록의 결과에 ImagesFont.load()을 사용하는 것입니다. 데비안에 글꼴이있는 곳을 모르지만 잘 알려진 폴더에 있어야만 os.walk을 수행 한 다음 그 방법으로 파일 이름을 입력 할 수 있습니다.

+0

데비안에는'/ usr/share/fonts' 경로가 있습니다. 그러나 제가 말했듯이, 모든 것이 거기에 있고 직접적으로 유용한 형태로 존재한다는 것은 분명하지 않습니다. 예를 들어'xlsfonts'와 몇몇 그래픽 프로그램은 "nimbus roman"이라는 글꼴을 가지고 있지만 "Nimbus"라는 유일한 파일은 내 홈 폴더에 있고 그 시스템 디렉토리에는 없습니다 (~ /에 없습니다). 글꼴/폴더 중 하나, 그냥 일반 폴더). 따라서이 방법으로 검색하는 것은 실제로 신뢰할 수 없다고 생각합니다. –

+0

글꼴의 파일 이름이 xlsfonts의 글꼴과 일치하지 않을 수도 있으며 경우에 따라 한 글꼴 파일에 많은 글꼴이 포함될 수 있습니다. –

관련 문제