2014-04-14 2 views
1

gnuplot을 사용하여 올바른 글꼴을 표시하기 위해 export GDFONTPATH=${HOME}/fonts을 설정해야합니다. 또는 "확장 할 수없는 내부 글꼴을 사용하여"arial "글꼴을 열 때"이 글꼴을 찾지 못했습니다. "라는 경고 메시지가 나타납니다.subprocess.Popen을 사용하여 환경 변수 적용

파이썬에서는이 코드로 gnuplot을 호출하는 것을 자동화하려고합니다.

GNUPLOT=distutils.spawn.find_executable('gnuplot')   
my_env = os.environ 
my_env["GDFONTPATH"] = '${HOME}/fonts' 
p = Popen([GNUPLOT, config["file_path"]], shell=False, env=my_env) 
p.communicate() 

그러나 경고 메시지가 표시됩니다. 무엇이 잘못 되었을까요? 파이썬에서 환경 변수를 적용하는 방법?

Could not find/open font when opening font "arial", using internal non-scalable font 

답변

2

직접 '$ {홈}'을 사용하고 있다는 느낌이 들었습니다. 대신이 시도 :

my_env['GDFONTPATH'] = os.path.join(my_env['HOME'], 'fonts') 
+2

또는'os.path.expanduser ('~/글꼴')'(의 gnuplot 4.6.4 여기 테스트)

set terminal pngcairo font 'DroidSerif' 

jfs

1

나를 다소 다른 솔루션을 제안하자

방식으로 png 터미널보다 훨씬 더 나은 결과를 생산하는 pngcairo 터미널, 다른 카이로 단자 (wxtpdfcairo) fontconfig을 사용하십시오.

<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd"> 
<fontconfig> 
<dir>~/fonts</dir> 
</fontconfig> 

을하고 먹으 렴 :이

, 당신은 단지 콘텐츠와 파일 ~/.fonts.conf을 작성해야합니다. 가능한 글꼴 이름을 예를 들어 fc-list | grep $HOME/fonts으로 확인해야하지만 일반적으로 글꼴 파일 이름은 자체 설명입니다. 그런 다음