On 2007-08-15 23:51-0400 Hazen Babcock wrote: > > On Aug 15, 2007, at 11:16 PM, Alan W. Irwin wrote:
>> Once -ori works for integer values, then you should confirm that the -a >> option works as well. In other words, your device should give correct >> results for different aspect ratios passed to the device from the core >> PLplot library. After that confirmation, portrait mode should be a snap >> since pls->freeaspect = 1 tells the PLplot core library to adjust the >> aspect >> ratio appropriately (i.e., tall and skinny) for portrait mode. >> >> I hope I have clarified things for you. > > Ok. My latest commit may have gotten this all sorted out. I'm a little > puzzled why the PLplot library doesn't just pass the driver the right > transform matrix for the new orientation since it is going to the effort of > rotating everything else. The aspect ratio of the letters and symbols is incorrect with -portrait mode. To see this look at example 1 where the circular symbols have been turned into ellipses. If you compare the results of ./x01c -a .75 -ori 1 -dev pscairo -o test2.ps and ./x01c -portrait -dev pscairo -o test3.ps they should be closely similar, but they are not. test2.ps is very similar to what you get with ./x01c -portrait -dev psc -o test1.ps or ./x01c -freeaspect -ori 1 -dev psc -o test0.ps (which produces an identical plot to test1.ps). In other words, it appears the -a and -ori options are working fine for pscairo, but -portrait is not for some reason. If you do the further command ./x01c -freeaspect -ori 1 -dev pscairo -o test4.ps you will find the result is correct (i.e., virtually identical to test2.ps above). Thus, pscairo is really close, and the issue simply boils down to why does -portrait not produce identical results to -freeaspect -ori 1 for the pscairo driver? I just now had a look at cairo.c, and the naive answer is you forgot to set pls->freeaspect = 1; in that driver for the -portrait case (at least for revision 7806 which is what "svn update" gives me for trunk at the moment). I tried setting that myself locally in the if(pls->portrait){ block, but it made no difference (which I frankly don't understand since that logic followed what works in the ps.c case.) Anyhow, with "-freeaspect -ori 1" giving correct results for pscairo, I hope it is easy for you to figure out what the problem is with the -portrait option for pscairo. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel