lfqy
2024 年7 月 18 日 01:17
1
windows系统上,emacs orgmode下gnuplot-mode画出的图不支持中文,中文显示乱码。macOS上,通过gnuplot的"set font"指定支持中文的字体文件就可以。但是,在windows上,通过gnuplot的"set encoding"指定编码、通过"set font"指定字体都试过,还是不行。有人在win下的gnuplot可以画出支持中文的图吗?求指教
#+begin_src gnuplot :file ./img/asdf.png :encoding utf8 :export result
set term png font 'C:\Windows\Fonts\simsun.ttc,10'
set samples 500
set xlabel "横坐标"
set ylabel "纵坐标"
plot sin(5*x)
#+end_src
macOS正常,windows上无法显示中文(中文乱码)。
SPQR
2024 年7 月 18 日 13:40
2
命令行里面运行一下命令 chcp,可以得到当前Windows的编码,我记得中文locale一般是936,对应cp936,可以试下指定编码为gbk或者gb18030.
ob-gnuplot.el 里提供了 :encoding 的选项吗, 我在ob-gnuplot.el\lisp - emacs/org-mode.git - Emacs Org mode 上面并没有看到, 同时在 emacs 里查看 “*gnuplot*” buffer, 也没有看到 set encoding 语句出现
我这边用gnuplot 6.0.1试了一下好像中文是正常的:
你可以试试M-x set-language-environment
然后输入UTF-8
(或者设置current-language-environment
为UTF-8),有可能是导出的文件不是UTF-8编码。
lfqy
2024 年7 月 20 日 11:01
5
我这边试了下,chcp显示编码是936。不过,set encoding gbk
之后,还是不行,一样是乱码。
lfqy
2024 年7 月 20 日 22:56
6
执行M-x set-language-environment
设置为UTF-8之后,就可以支持中文了(无需指定字体和编码等),如下。
#+begin_src gnuplot :file ./img/asdf.png :export result
set term png
set samples 500
set xlabel "横坐标"
set ylabel "纵坐标"
plot sin(5*x)
#+end_src
感谢!