Ben Pfaff [Sun, 29 Dec 2019 16:25:57 +0000 (16:25 +0000)]
cairo: Fix font scaling.
It's really a mystery why a 9-point font doesn't appear 9 points tall
in PDF (etc.) output, but it doesn't. I guess we're doing something
wrong somewhere. But until we figure out the underlying issue, we need
to scale down font sizes for PDF and not for on-screen use.
This is a slightly better fix for font sizes than the previous commit 3c15b41c036 (pivot-table: Kluge dropping default 9-point font to make
output readable.)
Ben Pfaff [Sun, 29 Dec 2019 15:53:25 +0000 (15:53 +0000)]
pivot-table: Kluge dropping default 9-point font to make output readable.
The default font size for SPV output is normally 9 points, but that
makes the output window hard to read. This drops that default entirely,
which seems to make the output use a system or Pango default. This is
probably not the right thing to do--probably we need a way to magnify
the fonts for on-screen display.
This reverts part of commit e3c3fbe8b, which wasn't intended to have a
visible effect but did because it inadvertently introduced a 9-point
default.
Ben Pfaff [Thu, 26 Dec 2019 00:52:33 +0000 (00:52 +0000)]
table: Get rid of TAB_* for horizontal and vertical alignment.
Until now, either TAB_LEFT, TAB_RIGHT, etc. could be used or the
area_style mechanism could be used. The latter has a superset of the
former's features, so this commit eliminates the former.
Ben Pfaff [Sat, 19 Oct 2019 05:41:25 +0000 (05:41 +0000)]
driver: Do not accumulate marked-up text.
The output engine accumulates lines of text into blocks and outputs them
all at once. This doesn't currently work for text with markup, so this
commit disables it. It might be better to make it work, hence this
commit also adds an XXX marker.
Ben Pfaff [Sun, 10 Nov 2019 18:29:17 +0000 (18:29 +0000)]
LOOP: Limit number of iterations when IF clauses present.
The LOOP command is limited by the MXLOOPS setting in some cirumstances.
Until now, if an IF clause was present, MXLOOPS was disregarded.
However, this behavior does not match SPSS behavior. This commit makes
LOOP honor MXLOOPS even when IF is present, for compatibility.
With this commit, only the presence of an index clause makes LOOP
disregard MXLOOPS.
Ben Pfaff [Mon, 17 Jul 2017 18:38:13 +0000 (11:38 -0700)]
zip-reader: Improve error messages.
With this change, the zip-reader's error messages always include the zip
file name and, when relevant, the member name. Otherwise it wasn't always
clear what a message liek "No such file or directory" was talking about.
Ben Pfaff [Sun, 16 Jul 2017 03:22:10 +0000 (20:22 -0700)]
zip-reader: Read the whole central directory at .zip open time.
By reading the whole central directory when we open the .zip file, rather
than one entry at a time, we make it easier to get a list of entries and
make it available to the client. (This will be implemented in an upcoming
commit.)
This commit also fixes memory leaks in the error case in zip_member_open().
This commit also changes the usage model. Previously, if the caller opened
a single member more than once, all the members shared a single copy of
the member and read each other's data. Now, each caller that opens a
member gets a separate copy and a separate file pointer. Callers now need
to call zip_member_finish() when they're done with a member.
With this commit, the code only keeps an open FILE for a member if the
caller opened that member. Previously, it kept an open FILE for any
member that had been encountered.
Ben Pfaff [Mon, 2 Sep 2019 06:53:23 +0000 (06:53 +0000)]
AUTORECODE: Use minimum width output format for new variables.
The target variables don't need any decimals, since they are always
integers, and only need to be as wide as their largest value, which is
known in advance.
Ben Pfaff [Mon, 2 Sep 2019 06:37:02 +0000 (06:37 +0000)]
AUTORECODE: Properly handle value labels.
Value labels are supposed to be copied from source variables, where they
are present. Also, it's better to format the source values using the
print format rather than just assuming that %g is the right format.
Ben Pfaff [Mon, 2 Sep 2019 06:28:08 +0000 (06:28 +0000)]
variable: New function var_append_value_name__().
This variation on var_append_value_name() allows the caller to pass in the
parameter specifying how to show the value, which will be useful in an
upcoming commit.
Ben Pfaff [Mon, 2 Sep 2019 06:27:11 +0000 (06:27 +0000)]
variable: Make var_append_value_name() omit trailing white space.
This seems to be desirable in the cases where it's actually used. It only
affects one test case in the current testsuite, but it's an improvement for
an upcoming change too.
Ben Pfaff [Mon, 2 Sep 2019 05:14:52 +0000 (05:14 +0000)]
AUTORECODE: Fix treatment of missing values.
User-missing values are supposed to be recoded to a separate range above
the non-missing values. The system-missing value is supposed to not be
recoded at all. This fixes and documents that behavior.