问题
I am using a commercial sever with FreeBSD system without root account. I install gnuplot with my account. But, I can not set up fonts. So, I copy the fonts files in my home directory such as ~/usr/fonts
Then, I use followed scripts in my gnuplot files:
set term png enhanced font '/home/Tom/usr/fonts/truetype/msttcorefonts/verdana.ttf'
set out 'xrd.png'
set xlabel '2 {/Symbol q}';
set ylabel 'Count';
set xrange [:];
set yrange [:];
unset key;
set border lw 1;
plot './data.txt' using 1:2 with l linetype 1 linewidth 1;
set term xterm;
set out ;
However, I get the following errors when I run my scripts:
gdImageStringFT: Could not find/open font while printing string q with font Symbol
gdImageStringFT: Could not find/open font while printing string q with font Symbol
This might be because the font 'verdana.ttf' that I am using is not correct. But, I can use this font on my own PC with a Debian system.
回答1:
Do not use /Symbol. That will not use the Verdana font.
According to this page, the Verdana font includes greek letters.
Use UTF-8 encoding by adding set encoding utf8 to your gnuplot file. Then insert the unicode symbol (according to this page: θ, greek small letter theta, U+03B8) into the label string using your favorite text editor.
回答2:
You can use "/Symbol" . Simply add to your file the line "set encoding utf8" At least, it works with arial font.
回答3:
The plot definition file itself needs to be encoded in UTF-8.
Here are all prerequisites for printing UTF-8 characters with gnuplot:
- The file needs to contain a line
set encoding utf8 - The option
enhancedmust be available and set for the chosen terminal type:set terminal … enhanced … - The glyph of the UTF-8 character must be available in the chosen font.
- The plot definition file itself needs to be encoded in UTF-8.
Failing to observe the last point, results in the following gnuplot error:
Unable to convert "…�…": the sequence is invalid in the current charset (UTF-8),
falling back to iso_8859_1
This situation may occur when transferring plot files from Microsoft Windows™ to GNU/Linux.
The character encoding of the plot definition file can be checked with the following GNU/Linux command:
$ file -bi bad.plt
text/plain; charset=iso-8859-1
To correct the character encoding of the plot definition file, use this command:
$ iconv -f iso-8859-1 -t utf-8 -o good.plt bad.plt
来源:https://stackoverflow.com/questions/18753222/how-to-add-a-greek-character-in-png-file-created-by-gnuplot