On 2018-12-12 15:24-0000 António Rodrigues Tomé wrote:

Hi Alan,
now that 5.14 is out I would like to be more useful in solving the qt5
driver problem. However I do not complete understand the driver system to
be of big help.However for me I found a work arround that seems to work
quite well. I send you 4 files, output of x01 example using qt driver, png
and pdf)  the ones with Realease in name were created by the actual qt
driver version 5.14 that I constructed with the command
cmake -DCMAKE_INSTALL_PREFIX=/home/artome/plplot/PLPLOTNEW/
-DDEFAULT_NO_CAIRO_DEVICES=ON  -DDEFAULT_NO_QT_DEVICES=OFF DENABLE_cxx=ON
-DPL_DOUBLE=ON -DPLPLOT_USE_QT5=ON DEFAULT_NO_BINDINGS=ON    ../ >&
cmake.out

Hi António:

Please keep this discussion thread on list.

I think it would be better style (and also I think -DBUILD_TEST=ON is essential)
to use instead
cmake -DCMAKE_INSTALL_PREFIX=/home/artome/plplot/PLPLOTNEW/ -DBUILD_TEST=ON 
-DDEFAULT_NO_BINDINGS=ON -DENABLE_cxx=ON -DENABLE_qt=ON -DPLPLOT_USE_QT5=ON 
-DDEFAULT_NO_CAIRO_DEVICES:BOOL=ON ../ >& cmake.out

I just tried all those options here (except for your -DCMAKE_INSTALL_PREFIX), 
and they worked fine,
i.e., eliminated all bindings other than cxx and qt, dropped the cairo devices, 
and included
all qt devices (which happens by default if -DENABLE_qt=ON).

What is your exact platform (I think it might still be opensuse, but what version?) and 
what are the results of the "uname -a" command on that platform?  Also, what is 
the version of Qt5 that you are using?

The reason these details are important is I cannot replicate the text
alignment issues you demonstrated with pdfqt and pngqt results for
example one on your platform.  My platform is Debian Buster (with the
Qt5 5.11.2 suite of libraries) installed on AMD64 hardware (Ryzen 7
1700).  I demonstrated that I cannot replicate your badly aligned
results by configuring cmake in the way I described above and then
executing the following commands:

# Build the prerequisites for the specific examples below
make -j16 test_c_pngqt
make -j16 test_c_pdfqt

# Build two specific examples
examples/c/x01c -dev pngqt -o test.pngqt
examples/c/x01c -dev pdfqt -o test.pdfqt

I have attached those two result files so you can see for yourself that there 
are no text
alignment issues.

Also your suggested changes to plqt.cpp likely conflate two issues.  (i) 
alignment issues caused
by your platform and not PLplot, and (ii) the size of the resulting characters 
(which I
would prefer to put off discussing until later).  So to check those are two 
separate issues,
what happens if you restore plqt.cpp to its original form except for this one 
line change:

PLDLLIMPEXP_QT_DATA( int ) vectorize = 0;
==>
PLDLLIMPEXP_QT_DATA( int ) vectorize = 1;

?  I am pretty sure that is the equivalent of the first part of your change 
where you
are forcing the vectorize part of the code to be executed.

If that one-line change is all you need to bypass your Qt5 platform
issues, then I would be willing to test that simple change here to see
if it also works on my platform.  But the vectorize = 1 code path has
not been tested by anybody but you over the years and is just likely a
workaround for your Qt5 platform issue so I likely won't push that
one-line change in general.

Also you do appear to be having text alignment troubles consistently
over the years with your (opensuse?) Qt5 platforms so perhaps it is
time to try other Qt5 platforms?  For example, you could build the
upstream version of Qt5 yourself.  The very early versions of Qt5 did
have character alignment difficulties in that upstream version, but my
experiments showed they solved the alignment issues important to
PLplot by 5.3.x so you will likely find the latest upstream Qt5 also
does not have text alignment issues.  And if that is the case, then
that experiment should be the basis of a bug report to your
distribution.  Of course, if that bug report gets no response another
possibility is to try Debian (which I know works well now with Qt5)
some Debian derivative such as Ubuntu or Mint or some other rpm-based
distribution such as Fedora.

Good luck, and let me know how it goes.

Alan
__________________________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); 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
__________________________

Attachment: test.pdfqt
Description: pdfqt properly aligned result

Attachment: test.pngqt
Description: pngqt properly aligned result

_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to