Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Greek Characters in GnuPlot EPS output files

412 views
Skip to first unread message

Martin Brown

unread,
Apr 7, 2022, 9:22:43 AM4/7/22
to
I'm very much a beginner with Gnuplot and although I can get it to do
most things now. But I have struggled totally with getting Greek
characters alpha, beta, gamma, delta and pi to render.

I need to produce Postscript graph output for publication and it has to
work with MNRAS manuscript templates. I can examine the EPS output from
enhanced mode and see the following plausible encoding in the text but
it still renders as ASCII characters when the LaTex processes it.

setrgbcolor
3106 1050 M
[ /Symbol reencodeCP1252 def
[(Symbol) 140.0 0.0 true true 0 (a)]
[(Helvetica) 140.0 0.0 true true 0 (=0.5, )]
[(Symbol) 140.0 0.0 true true 0 (g)]
[(Helvetica) 140.0 0.0 true true 0 (=0.2)]
]

When I try to preview it in an EPS viewer I get a sort of pale rectangle
where the missing characters ought to be with slight shading to right
and bottom. I suspect my system is missing some font or other...

I have looked at the FAQ #6.3 through 6.6 but it might as well be
written in Greek for all the good it did me. I don't have easy access to
UTF-8 indeed when I tried cutting and pasting the UTF-8 example into my
copy of Gnuplot the /alpha symbol transmuted into lower case a :(

I don't mind escaping in random hex constants if that is what it takes
or manually editing the resulting EPS file but to do that I need to know
what to put in to make a Greek character appear in the diagrams as
rendered by the journal's scripts. I'm using MiKTeX 2.9 on Win 7.

I am using current Gnuplot 5.4 so don't have easy access to enhpost
as described here:

https://groups.google.com/g/comp.text.tex/c/KbIx5uGILFU/m/vSwe4Tng7qMJ

I have tried {\Symbol a} etc and it seems to be working at least as far
as the EPS file but something then goes haywire when LaTex imports it.

I have also tried escaping in \delta for Latex to deal with but again I
must be doing something wrong because it appears in a literal sense
rather than escaping in the symbol delta.

I'm going around in circles and just can't seem to make any progress
now. It is driving me crazy! HELP!

Thanks for any enlightenment...

--
Regards,
Martin Brown

Jörg Buchholz

unread,
Apr 11, 2022, 3:46:53 AM4/11/22
to
On 07.04.2022 15:22, Martin Brown wrote:
> I'm very much a beginner with Gnuplot and although I can get it to do
> most things now. But I have struggled totally with getting Greek
> characters alpha, beta, gamma, delta and pi to render.
>
> I need to produce Postscript graph output for publication and it has to
> work with MNRAS manuscript templates. I can examine the EPS output from
> enhanced mode and see the following plausible encoding in the text but
> it still renders as ASCII characters when the LaTex processes it.
>
> setrgbcolor
> 3106 1050 M
> [ /Symbol reencodeCP1252 def
> [(Symbol) 140.0 0.0 true true 0 (a)]
> [(Helvetica) 140.0 0.0 true true 0 (=0.5, )]
> [(Symbol) 140.0 0.0 true true 0 (g)]
> [(Helvetica) 140.0 0.0 true true 0 (=0.2)]
> ]

What termina ldo you use for the output?

set label "{/Symbol a b c d e}" at 0.5,0.5
set term post enhanced
set out 'ps-test-greek.ps'
plot sin(x)
set out

produce a graph with Greek characters as a Postscript-File. You must
used the enhanced option for this.

Jörg

Martin Brown

unread,
Apr 11, 2022, 12:21:55 PM4/11/22
to
Thanks for your help and the suggested example. I suspect there must be
a font missing somewhere but I don't know where or how to provide it.

I see exactly the same thing rendered with your example as with mine.

It renders without any reported errors and I see 5 faint black line
rectangles where the labels should be starting at (0.0, 0.5). I estimate
the line width of the rectangles to be about 1/3 that of the sine curve.
_
|_|

Possible progress... I tried deliberately setting a mode that I didn't
expect to work "terminal jpeg enhanced" and got the following error msg:

set terminal jpeg enhanced
set out "ps-test.jpg"
plot sin(x)

gdImageStringFT: No character set found while printing string a b c d e
with font Symbol.

In addition Gnupolt crashes fatally when I try to copy that error
message. I'm still stuck and very confused as to what is wrong.


--
Regards,
Martin Brown

Jörg Buchholz

unread,
Apr 12, 2022, 1:59:28 AM4/12/22
to
Do you have Greek characters in other Software? In a word processing
software? What is your OS and what version of gnuplot do you use.

I agree with you, it sounds like a generally font problem on your machine.

If your LaTeX can produce Greek characters you can use the the
"cairolatex" terminal. Then the labels will generated by LaTeX.

Example:
set label '{${\alpha \beta \gamma \delta}$}' at 0.5,0.5
set term cairolatex eps standalone
set out 'greek-eps-latex.tex'
plot sin(x)
set out

Than you get a eps-file without any labels and a tex-file with the
labels. If you compile the tex_file (something like "pdflatex
greek-eps-latex.tex") you get a pdf-file with the graph and the labels.

Jörg

Martin Brown

unread,
Apr 12, 2022, 1:01:05 PM4/12/22
to
OS Win 7 64bit sp1
Gnuplot Version 5.4 patchlevel 1
>
> I agree with you, it sounds like a generally font problem on your machine.

Where does "Symbol.*" or "CP1252.ps" reside on your machine?

I had a poke around in gnuplot\share\postscript and noticed that
cp1252.ps exists there but it is spelt out in lower case where the
reference above is in uppercase. So I wonder if there is a Unix dislike
of MS file systems getting in the way somewhere.

I tried renaming it to CP1252.ps (no joy)

It is only in Gnuplot that Greek stubbornly refuses to appear :(
And its output renders as if the font didn't exist.

> If your LaTeX can produce Greek characters you can use the the
> "cairolatex" terminal. Then the labels will generated by LaTeX.
>
> Example:
> set label '{${\alpha \beta \gamma \delta}$}' at 0.5,0.5
> set term cairolatex eps standalone
> set out 'greek-eps-latex.tex'
> plot sin(x)
> set out
>
> Than you get a eps-file without any labels and a tex-file with the
> labels. If you compile the tex_file (something like "pdflatex
> greek-eps-latex.tex") you get a pdf-file with the graph and the labels.

Thank you for your help. Yes this works OK.

I had to download package transparent but then it was flawless.
MiKTex happily turned it into the expected form Greek letters and all.

I suspect now that there is something font related missing from my
MiKTex 2.9 install. I tried looking in its fonts directory but found a
maze of confusing little passageways all alike. No CP*.ps files at all.
Subdirectories
afm, cmap, end, map, misc, opentype, pfm, source, tfm, type1, vf

Thanks again for your help Jorg.

--
Regards,
Martin Brown

Jörg Buchholz

unread,
Apr 13, 2022, 1:48:36 AM4/13/22
to
here WIN 10 and gnuplot 5.4 patchlevel 3
But I work before on a WIN 7 Maschine with lot of older versions of
gnuplot. Never had problems with the Greek characters.

>>
>> I agree with you, it sounds like a generally font problem on your
>> machine.
>
> Where does "Symbol.*" or "CP1252.ps" reside on your machine?

This comes with the gnuplot installation:
C:\Program Files\gnuplot\share\PostScript\cp1252.ps

There are a lot of "Symbol.*" files. No one at "C:\Program
Files\gnuplot\...."
Here is a "cp1252.4ht" and a "cp1252.enc" in the "...\MiKTeX\fonts...."
directory.

Did you try the epscairo termianl to get a .eps-File? There you can use
direct unicode code.

set term epscairo enhanced font "cp1252"
set label 1 "\\U+03B1 \\U+03B2 \\U+03B3" at 0.5,0.5
set out 'greek-epscairo.eps'
plot sin(x)
set out

There is alpha, beta and gamma in the label.

Jörg

Martin Brown

unread,
Apr 13, 2022, 11:57:26 AM4/13/22
to
I have "cp1252.4ht" in MiKTeX\tex\generic\tex4ht
Also a "cp1252.def" in MiKTeX\tex\latex\base

No signs at all of "cp1252.enc" in MiKTek but I do have two copies
elsewhere - one in Maxima and one in a rendering engine subdir.

Where do I need to put it in the MiKTeX/GNUplot directories please?

> Did you try the epscairo termianl to get a .eps-File? There you can use
> direct unicode code.
>
> set term epscairo enhanced font "cp1252"
> set label 1 "\\U+03B1 \\U+03B2 \\U+03B3" at 0.5,0.5
> set out 'greek-epscairo.eps'
> plot sin(x)
> set out
>
> There is alpha, beta and gamma in the label.

You are correct again!

That bit works fine, unfortunately on my rendering engine there is also
the plaintext of the actual unicode escape sequences sat on top of it.

ie. alpha beta gamma delta epsilon symbols with

\U+03B1 \U+03B2 \U+03b3 splatted on top of it (5! characters worth).

It looks to me like:

Alpha is actually a lowercase a of the handwriting sort
Beta is correctly rendered as the symbol
Gamma is an uppercase X shifted down by one third of a line height
Delta is correctly rendered (but why or how I do not know)
Epsilon is correctly rendered (but why or how I do not know)

I copied your example verbatim first and then added extra spaces to the
front so that the Greek letters appeared unmolested by the plaintext.

"Alpha" doesn't look much like a Greek alpha to me nor does "Gamma".
Beta, Delta and Epsilon all look fine although where those last two came
from I have absolutely no idea!

.eps file content looks OK to me so this is another vexing rendering
engine fault in my Windows version of TeX. It contains the 3 escape
sequences as above. I will give GNUplot patchlevel 3 a try next.

Thanks again for your very helpful suggestions and patience.

--
Regards,
Martin Brown

Jörg Buchholz

unread,
Apr 14, 2022, 7:57:56 AM4/14/22
to
On 13.04.2022 17:57, Martin Brown wrote:
> On 13/04/2022 06:48, Jörg Buchholz wrote:
>> On 12.04.2022 19:01, Martin Brown wrote:
>
>>> I suspect now that there is something font related missing from my
>>> MiKTex 2.9 install. I tried looking in its fonts directory but found a
>>> maze of confusing little passageways all alike. No CP*.ps files at all.
>>> Subdirectories
>>>   afm, cmap, end, map, misc, opentype, pfm, source, tfm, type1, vf
>>
>> Here is a "cp1252.4ht" and a "cp1252.enc" in the "...\MiKTeX\fonts...."
>> directory.
>
> I have "cp1252.4ht" in MiKTeX\tex\generic\tex4ht
> Also a "cp1252.def" in MiKTeX\tex\latex\base
>
> No signs at all of "cp1252.enc" in MiKTek but I do have two copies
> elsewhere - one in Maxima and one in a rendering engine subdir.
>
> Where do I need to put it in the MiKTeX/GNUplot directories please?


Here it is at
"...\AppData\Local\Programs\MiKTeX\fonts\enc\dvips\ucs\cp1252.enc

But I never do something more than the "normal" installation.
I am at my wits end!

Jörg

Martin Brown

unread,
Apr 16, 2022, 6:47:41 AM4/16/22
to
On 14/04/2022 12:57, Jörg Buchholz wrote:
> On 13.04.2022 17:57, Martin Brown wrote:
>> On 13/04/2022 06:48, Jörg Buchholz wrote:
>>> On 12.04.2022 19:01, Martin Brown wrote:
>>
>>>> I suspect now that there is something font related missing from my
>>>> MiKTex 2.9 install. I tried looking in its fonts directory but found a
>>>> maze of confusing little passageways all alike. No CP*.ps files at all.
>>>> Subdirectories
>>>>   afm, cmap, end, map, misc, opentype, pfm, source, tfm, type1, vf
>>>
>>> Here is a "cp1252.4ht" and a "cp1252.enc" in the "...\MiKTeX\fonts...."
>>> directory.
>>
>> I have "cp1252.4ht" in MiKTeX\tex\generic\tex4ht
>> Also a "cp1252.def" in MiKTeX\tex\latex\base
>>
>> No signs at all of "cp1252.enc" in MiKTek but I do have two copies
>> elsewhere - one in Maxima and one in a rendering engine subdir.
>>
>> Where do I need to put it in the MiKTeX/GNUplot directories please?
>
>
> Here it is at
> "...\AppData\Local\Programs\MiKTeX\fonts\enc\dvips\ucs\cp1252.enc

Odd. I don't have anything at all there. The fonts are all in the
MiKTex2.9 directory under "...\Program Files\"

There is even less there after installing gnuplot 5.4.3 which cleared up
some rubble left by the 5.4.1 installation. Now there is no MiKTeX
directory at all in the the AppData hierarchy.

I tried putting CP1252.enc in
"MiKTeX 2.9\fonts\enc\dvips\base"
as there is no ucs subdir. Choices are:

arabi base lm metapost newtx tetex tex-gyre txfonts

>
> But I never do something more than the "normal" installation.

Private single user or global user access?

>> .eps file content looks OK to me so this is another vexing rendering
>> engine fault in my Windows version of TeX. It contains the 3 escape
>> sequences as above. I will give GNUplot patchlevel 3 a try next.
>>
>> Thanks again for your very helpful suggestions and patience.
>
> I am at my wits end!

So am I. I tried everything I could think of and nothing worked :(
I have been fighting this problem for a while and getting nowhere.

5.4.3 behaves exactly the same. Putting cp1252.enc in various plausible
places made no difference at all, but thanks to you I do now have one
way of getting Greek characters into GNU plots that actually works.

set term cairolatex eps standalone

Works OK. Then PDF to EPS ought to do it <fx> crosses fingers</fx>.

Thanks again for all your help and Sample should be working code.
I think I can do everything I need using that terminal mode.
(if I can't then I will be back with some more questions)

--
Regards,
Martin Brown

Jörg Buchholz

unread,
Apr 19, 2022, 12:55:57 AM4/19/22
to
I think, Miktex is insataled for a single user.

> set term cairolatex eps standalone
>
> Works OK. Then PDF to EPS ought to do it <fx> crosses fingers</fx>.
>
> Thanks again for all your help and Sample should be working code.
> I think I can do everything I need using that terminal mode.
> (if I can't then I will be back with some more questions)
>

If I can help, I will give some answers.

Jörg
0 new messages