Question: "cannot locate postscript AFM files" Shows only when running cmaple.exe from command line

When running "C:\Program Files\Maple 2023\bin.X86_64_WINDOWS\cmaple.exe" on my application which makes plots and export them to ps, sometimes I get an exception

              "cannot locate postscript AFM files"

This happens on some plots. Not all. The strange thing, using the same exact run, but from the worksheet, it works fine and I get the .ps generated with no such error. This only happens when running from the command line. It happens here


try
   plotsetup(ps, plotoutput="plot.ps",plotoptions=noborder);
   print(p1);   
   plotsetup(default):
catch:
   print(StringTools:-FormatMessage( lastexception[2..-1] ));
end try;

where p1 above is a plot that was generated earlier OK with no error. I made sure there is no font settings on the plot or any extra options that might cause a problem.

I am not able to make MWE as this problem only shows deep inside my application and only when calling Maple from command line and only shows up on very few plots for some reason I do not understand.  When I made a small .mpl with same code used to make the plot, and run it from command line, the error do not show up. It only shows up when running the whole application from the command line. 

My question is: How does Maple find these postscript AFM files? It looks like the postscript driver used by command like Maple is older than the one used by the frontend/GUI and this is why this error only shows from the command line. Has anyone seen such a Maple error before? 

I have no idea where to find these AFM postscript files it says it can't find and what to do now. I am on windows 10.

Any suggestion what to lookfor and anything else I can do to help me find the cause of this?

If it is any help, here is the MWE I tried to reproduce this with. But this generated no error. Call this foo.mpl

foo:=proc()
local p1,ode,y,x;
   ode:=3*y(x)+x*diff(y(x),x) = 2*x^5;
   p1 := DEtools:-phaseportrait(ode,y(x),x=-1..5,[y(2)=1],y=-1000..1000):
   try
      plotsetup(ps, plotoutput=cat("C:/tmp/plot.ps"),plotoptions=noborder);
      print(p1);   # also tried without "display"
      plotsetup(default):
   catch:
      print(StringTools:-FormatMessage( lastexception[2..-1] ));
      print("Exception");
   end try;
end proc;

foo();

Then run 

 

C:\tmp>"C:\Program Files\Maple 2023\bin.X86_64_WINDOWS\cmaple.exe"  foo.mpl

No error. The error only shows in my large application.

                             "cannot locate postscript AFM files"

Will keep trying to make a MWE, but for 3 hrs now, no luck yet.

Update

I've added 

if lasterrorlocus<>'lasterrorlocus' then
                     print(lasterrorlocus);
                     showsource();
end if; 

Inside the catch, which print the exact location of the exception generated. It is at print(p1) as you see

again, same code runs with no problem from the worksheet. This only shows when running from command line. Will keep trying to make MWE...

Please Wait...