pspp-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: problems with decimal number display by PSPP


From: John Darrington
Subject: Re: problems with decimal number display by PSPP
Date: Sat, 17 Apr 2021 08:55:06 +0200
User-agent: Mutt/1.10.1 (2018-07-13)

Thanks Ben,

Looking at this, I'm inclined to think you're right.

We're still however speculating about the cause.  For most users this
problem does not manifest itself, so I guess there is some particular
combination of platform, operating system, (locale?), cairo version,
which gives rise to it.   So I think the onus is on the people who are
actually experiencing the issue to demonstrate a reproducible set of
conditions under which it occurs.

When we can reproduce the problem, we have a chance of finding the cause
and fixing it.

J'


On Fri, Apr 16, 2021 at 10:58:07AM -0700, Ben Pfaff wrote:
     I think it's more likely to be the following code in cairo-fsm.c that
     tries to avoid wordwrapping.
     I don't know why U+2060 WORD JOINER is showing up as U+0000 on Windows.
     I guess we could add #ifndef __WIN32__ and see if it goes away.
     
         if (decimal[0]
               && c_isdigit (decimal[1])
               && (decimal == text || !c_isdigit (decimal[-1])))
             {
               struct string tmp = DS_EMPTY_INITIALIZER;
               ds_extend (&tmp, ds_length (&body) + 16);
               markup_escape (&tmp, markup, text, decimal - text + 1);
               ds_put_unichar (&tmp, 0x2060 /* U+2060 WORD JOINER */);
               markup_escape (&tmp, markup, decimal + 1, -1);
               ds_swap (&tmp, &body);
               ds_destroy (&tmp);
             }
     
     On Fri, Apr 16, 2021 at 8:26 AM John Darrington
     <john@darrington.wattle.id.au> wrote:
     >
     > After a fair bit of effort, I have been unable to reproduce this problem.
     >
     > So if this issue is to have any chance of getting fixed someone who is
     > experiencing it is going to  need to give us a backtrace.
     >
     > Looking through the code, I consider the most likely function of interest
     > is  output_decimal in src/data/data-out.c - in particular this bit of 
code
     > seems most relevant:
     >
     >       if (decimals > 0)
     >         {
     >           *p++ = style->decimal;
     >           p = mempcpy (p, &magnitude[integer_digits + 1], decimals);
     >         }
     >
     > However I can't see anything actually wrong here.  I suggest that you
     > put a breakpoint here conditional upon *p == 0 ... hopefully that might
     > provide something of interest.
     >
     > J'



reply via email to

[Prev in Thread] Current Thread [Next in Thread]