Hi Alan,

On 2009-09-09 21:23, Alan W. Irwin wrote:
> On 2009-09-09 13:59+0200 Arjen Markus wrote:
> 
>> Hi Alan,
>>
>> I have been experimenting a bit with the test program I sent earlier
>> to see how this works on Windows.
> 
>> #include "stdafx.h"
>> #include "locale.h"
> 
>>    pstr = setlocale(LC_NUMERIC, "");
> 
> Hi Arjen:
> 
> Your continued testing on Windows has been most helpful.
> 
> Those are exactly the setlocale function arguments used by the general (not
> just an example 1 option any more as of revision 10388) -locale 
> command-line
> option for PLplot. I am very pleased to hear that the setlocale function
> exists on Windows and has the same arguments.  Is the #include "stdafx.h"
> actually necessary? Please try a windows build of PLplot to see whether it
> is necessary.  If so, the place to put #include <stdafx.h> it is right
> before the

Sorry for the confusion: the line '#include "stdafx.h"' is a consequence
of Visual Studio creating a default source file for you, if you are not
careful. (I find it a nuisance, but then I never use the associated
functionality.)

> 
> #include <locale.h>
> 
> in plplotP.h surrounded by preprocessor logic so #include <stdafx.h> does
> not happen for non-windows platforms.
> 
> I am also pleased to hear that those setlocale arguments have an effect on
> Windows (at least for output).  That means you should be able to see comma
> separators for all axis labels and contour interval labels when you run
> example 9 (just like I do when I use the nl_NL.utf8 locale). Can you 
> confirm
> that?

I will try that. I may be able to do that tonight.

> 
>> ... I remembered suddenly that on Windows you can set the regional
>> settings. That contained a period ... So setting that to a comma,
>> I get:
>>
>> chklocale 1,3 Dutch_Netherlands.1252
>> Number: 1,200000 -- Dutch_Netherlands.1252
>> Read: 1,000000
>> Read: 1,000000 -- (null)
>>
>> Note: the comma is apparently not recognised on input, it is used
>> on output!
> 
>> From my perspective, the principal locale issues are (1) allowing PLplot
> users to control the LC_NUMERIC locale used for PLplot via the -locale
> command-line option rather than just leaving it up to external applications
> and libraries and (2) protecting critical areas of PLplot against any 
> locale
> chosen via the -setlocale mechanism or external libraries. It looks like
> both of these issues have now been dealt with for Linux and (from your
> simple tests) Windows as well, although more testing is obviously required
> on both platforms (and also OS X).
> 

I agree, the current implementation confines the effects of PLplot's
-locale to PLplot routines and that is what you really need. Locale
settings are messy enough as they are.

> To my mind, the additional issue of recognizing the comma separator for our
> floating-point options for the command line is not as important as the 
> other
> two issues.  The complete (as far as I can tell) list of such options is
> -mar, -a, -jx, -jy, -ori, -bg, -wplt,-fsiz, and -dpi.  All of those use 
> atof
> to determine the floating-point values of the options. It does make sense
> from the consistency point of view to support comma separators for these
> options if you are specifying for plots generated by PLplot, but the result
> is dependent on how scanf/atof is implemented for each different platform
> version.  For Linux, my sense (from all the Linux locale reading I have 
> been
> doing the last few days, although I cannot now find a specific 
> reference) is
> support of the LC_NUMERIC locale for scanf/atof has been fairly recent.  
> You
> may have a similar situation for Windows with earlier platforms not
> supporting LC_NUMERIC locale for scanf/atof and later ones supporting it.
> 

Hm, I used both MSVC 6.0 and MSVC 2008 (more or less the latest
release). MicroSoft have always been keen on localisation, so I am a
bit surprised that such basic functions as scanf() do not adhere to
the settings. The asymmetry actually causes problems, as you can not
write a file with comma separators and read it back again. But that
is a different discussion.

> Anyhow, could you add your experience to the locale notes in README.release
> (especially about the regional setting you had to change to get LC_NUMERIC
> recognized on output for your particular Windows platform)? Once such
> experience has been collected for all platforms, then I will put the result
> in our wiki and also in our DocBook form of documentation.
> 

Sure.

Regards,

Arjen

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to