After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 631611 - Check printing fails because fonts are too tiny on Windows
Check printing fails because fonts are too tiny on Windows
Status: RESOLVED FIXED
Product: GnuCash
Classification: Other
Component: Check Printing
2.3.x
Other Windows
: Normal normal
: ---
Assigned To: David Hampton
: 642248 644815 662688 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-10-07 14:27 UTC by steve
Modified: 2018-06-29 22:45 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description steve 2010-10-07 14:27:48 UTC
Just upgraded to 2.3.15; I uninstalled the previous version as directed before installing this one.  The check printing function now prints the check data in an infinitesimally small type face which, of course, is unusable.  This happens on both printers (HP Laserjet and Inkjet) on my system, and with all versions of five check formats available.  All other reports seem to print normally.  Windows Vista, GnuCash 2.3.15, r19437. 

I believe that the stock check format data has been moved from the location identified in the Wiki, and I can't locate it to give you more information.
Comment 1 steve 2010-10-07 19:31:46 UTC
Uninstalled 2.3.15, reinstalled  2.3.14 and the problem was solved; the checks print like they're supposed to.
Comment 2 steve 2010-10-28 21:22:49 UTC
Same thing with recent upgrade to Windows 7.  2.3.15 won't print checks.
Comment 3 rshofner 2010-11-24 20:41:22 UTC
also windows 7 - 2.3.14 is last to print checks. Also, keyboard accelerators (alt+P do not work
Comment 4 rshofner 2010-12-28 16:48:02 UTC
still broken in 2.4.0
Comment 5 John 2011-01-04 20:58:22 UTC
I recently upgraded gnucash from 2.2.9 to 2.4.0 on a Vista Home Premium  (service pack 2) computer.  The gnucash help window reports that it was built from svn r19971 on 2010-12-21.

Attempts to print a check result in microscopic printing in the upper left corner of the check in an area about 1 inch square.  This behavior occurred when using a custom format that worked with Version 2.2.9, and with the pre-configured check formats that gnucash 2.4.0 provides.

A custom report was printed with no problems.

I attempted to create a new 'custom' check as a test.  The test check printed in normal size font and placement and I saved the custom format.  However, after restarting gnucash the 'new' custom check format printed the microscopic version.
Comment 6 John 2011-01-05 04:03:24 UTC
Re: comment #5...  
As a further test I printed a check to an XPS file and looked at the file.  It showed the same results as the printed checks.  The whole three part check squeezed into about a one inch square area in the upper left corner.
Comment 7 Dave 2011-01-23 01:41:11 UTC
2.4.0 Windows 7 (64 bit) LAN printer HP Officejet 7310xi

Attempts to print a check results in microscopic printing in the upper left
corner of the check in an area about 1 inch square.
All reports printed with no problems.
Comment 8 Andy Anderson 2011-02-02 19:18:29 UTC
I'm also getting the tiny check printing using GNUCash 2.4.0 built from svn r19971 on 2010-12-21, running on Windows 7 32-bit. I've tried the new check formats included with 2.4.0 as well as some custom formats that I was using with earlier versions. I've printed both to real printers and to PDFCreator, and get the same results in all cases.  If I scale the PDF file to something like 800%, then I can read the writing, but still can't print checks.
Comment 9 Thomas Troesch 2011-02-13 22:39:17 UTC
Have you looked at the comments in 
https://bugzilla.gnome.org/show_bug.cgi?id=591177

#591177 is reported as fixed, but the symptoms seem to be very similar.
Comment 10 Christian Stimming 2011-02-14 10:05:32 UTC
*** Bug 642248 has been marked as a duplicate of this bug. ***
Comment 11 Christian Stimming 2011-02-14 10:07:25 UTC
I guess Thomas meant https://bugzilla.gnome.org/show_bug.cgi?id=591177#c23 : "A workaround would be to change the PDF Creator printer resolution to 72dpi."
Comment 12 Jacob Weed 2011-02-28 15:25:33 UTC
Using Windows Vista and I updated to 2.4.3.  This is still happening.  The check prints small in the upper left corner of the page on 5 different printers including PDF and XPS.
Comment 13 AlanK 2011-03-12 22:57:54 UTC
I have the same issue. First time user running Windows XP with service pack 3 trying to print to either bullzip pdf driver or a trusty HP LaserJet printer both result in the microscopic print. Has a solution or workaround been found. I SO want to abandon Quicken but I need the check printing function to work.
Comment 14 rshofner 2011-03-14 14:31:41 UTC
@ AlanK - I still use 2.3.14 for check printing.
Comment 15 Christian Stimming 2011-03-15 13:17:00 UTC
Similar to bug 591177
Comment 16 Christian Stimming 2011-03-15 13:17:16 UTC
*** Bug 644815 has been marked as a duplicate of this bug. ***
Comment 17 rshofner 2011-03-15 16:49:16 UTC
Christin - If you haven't reproduced the problem, there's a small nuance about it just being the font size - it's the entire scaling  (X, Y coordinates) that seem to be off by ~ factor of 10.
Comment 18 rshofner 2011-07-09 14:48:04 UTC
2.4.7 - still broken on my computer
Comment 19 Mike McDonald 2011-07-13 23:03:05 UTC
It appears that the conversion from pixels to dots/in is not functioning in Windows.  By setting the dots/in in the printer to 72 or 96 you get a reasonable looking check.  I haven't measured the spacing on a print out to verify that the conversion from pixels to dots/in is mathematically correct.  Font kerning is also incorrect in the "adjusted" printout but this may be a product of the kludge I used to print the reduced dots/in check.
Comment 20 Mike McDonald 2011-07-14 14:22:57 UTC
Sorry, I should have said "text point size" instead of pixel.
Comment 21 Don 2011-09-19 04:16:32 UTC
I think the Gnucash program is great and just installed the latest version on a windows XP machine.  I too have a problem with printing checks. The output looks like the page size is set too small and the font size is too small, so the entire check is about 1/2" long by .1" down and just looks like a smudge.  I played with the custom settings and finally got a small version by increasing the font size to the maximum and using settings of 45" and 63" to go half way across an 8.5" page.  Obviously the conversion to inches is wrong and the paper size and font size is possibly linked to that incorrect conversion.  Like the Hubble telescope when the two teams each used a different standard of measurement.  I use a laser printer and also output it to a Pdf file and it is still too small, although I did get it up to half of it's normal size.  I might suggest seeing if a standalone program called "CheckWriter" by Gulf Coastal Software, gcs@nym.alias.net, would let you incorporate their program into yours since it is freeware and works great for printing checks in Windows, even allowing dragging of the fill-in sections to match the check form.  Otherwise, I wish you would take this issue out of the "UNCONFIRMED" category and see if a solution can be found. I can't believe that the people who have reported this over the last year are the only ones with the problem. I would attach a copy of the using the quickbooks form output, but it's too small to see, so there's no point.If David Hampton cannot reproduce it on his windows machine (I am running XP, SP3), then maybe he could share his settings that work to print a normal check so we could try it. I know the programmers work hard and I'm not criticizing them, just trying to see if something will help fix this.
Comment 22 Don 2011-09-19 13:05:28 UTC
I think the Gnucash program is great and just installed the latest version on a windows XP machine.  I too have a problem with printing checks. The output looks like the page size is set too small and the font size is too small, so the entire check is about 1/2" long by .1" down and just looks like a smudge.  I played with the custom settings and finally got a small version by increasing the font size to the maximum and using settings of 45" and 63" to go half way across an 8.5" page.  Obviously the conversion to inches is wrong and the paper size and font size is possibly linked to that incorrect conversion.  Like the Hubble telescope when the two teams each used a different standard of measurement.  I use a laser printer and also output it to a Pdf file and it is still too small, although I did get it up to half of it's normal size.  I might suggest seeing if a standalone program called "CheckWriter" by Gulf Coastal Software, gcs@nym.alias.net, would let you incorporate their program into yours since it is freeware and works great for printing checks in Windows, even allowing dragging of the fill-in sections to match the check form.  Otherwise, I wish you would take this issue out of the "UNCONFIRMED" category and see if a solution can be found. I can't believe that the people who have reported this over the last year are the only ones with the problem. I would attach a copy of the using the quickbooks form output, but it's too small to see, so there's no point.If David Hampton cannot reproduce it on his windows machine (I am running XP, SP3), then maybe he could share his settings that work to print a normal check so we could try it. I know the programmers work hard and I'm not criticizing them, just trying to see if something will help fix this.
Comment 23 Thomas Troesch 2011-09-20 04:10:35 UTC
to docduke:  The documentation is at 

http://code.gnucash.org/docs/guide/check_format_info.html#check_format_notes

The splits are printed as multiple lines moving 'up' from the defined location.  Take notice of the note at the bottom of the page.  Also note that printing splits only makes sense with voucher checks because there is not enough space otherwise.  The voucher example that comes with gnucash doesn't use split printing.

I can confirm the problem and have noticed that running on XP sp3:

1.  the printer PDFCreator ( http://sourceforge.net/projects/pdfcreator/ ) does not work.  ( meaning that it fails 'small' the same as my printer )

2.  a custom format seems to work correctly on my HP1022 and PDFCreator.  I only tried units of points, which is the units in the check format files.  

Although the 'custom' interface doesn't include all the capabilities of a check format file, I think it is sufficient as a workaround for most purposes.

I am not able to help with this because I don't have a windows development environment.
Comment 24 Don 2011-09-20 23:17:25 UTC
I noticed that the file for the check forms are classified as "recovered file fragments" in the detailed directory view.  I then found that the extension used for the check forms, namely, "chk", is reserved for Windows as the name for recovered files when there's a program crash.  I wonder if that affects how the files open and possibly cause the weird behavior when we try to print checks.  Is is possible to change the extension to something else in the Windows version so there are accepted as intact files?  Here is Windows explanation of a "chk" extension on a file: So what is a CHK file?  Well, any time a program or Windows crashes, any files that were open are not closed properly. Part of closing is writing all the file location information in all the right places. Without this info, Windows can't find all the parts of the file. When SCANDISK or CHKDISK is run, all the parts are identified as "lost file fragments" and converted (if you want) into CHK files. Face it. Stuff crashes all the time. If you only run SCANDISK once a month, you get a month's worth of old crash junk. If you were working on (and lost) something important just before a crash, you might want to try to recover any data from any CHK files that exist. On the other hand, if you aren't in a state of panic over lost data, just delete any CHK files. A handy tip: Keep your disk defragmented. That way if you ever do lose it all, the lost file fragments will be more likely to be complete files.
Comment 25 Don 2011-09-21 01:59:13 UTC
(In reply to comment #23)
> to docduke:  The documentation is at 
> 
> http://code.gnucash.org/docs/guide/check_format_info.html#check_format_notes
> 
> The splits are printed as multiple lines moving 'up' from the defined location.
>  Take notice of the note at the bottom of the page.  Also note that printing
> splits only makes sense with voucher checks because there is not enough space
> otherwise.  The voucher example that comes with gnucash doesn't use split
> printing.
> 
> I can confirm the problem and have noticed that running on XP sp3:
> 
> 1.  the printer PDFCreator ( http://sourceforge.net/projects/pdfcreator/ ) does
> not work.  ( meaning that it fails 'small' the same as my printer )
> 
> 2.  a custom format seems to work correctly on my HP1022 and PDFCreator.  I
> only tried units of points, which is the units in the check format files.  
> 
> Although the 'custom' interface doesn't include all the capabilities of a check
> format file, I think it is sufficient as a workaround for most purposes.
> 
> I am not able to help with this because I don't have a windows development
> environment.


To docduke:  Could you provide the "x" and "y" coordinates that you say worked in your #2 paragraph please?
Comment 26 Thomas Troesch 2011-09-21 16:22:28 UTC
I copied the values from the quicken.chk file (Quicken/Quickbook US Letter).

In the Print Checks dialog, select Custom for Check Format.  Go to Custom Format tab and enter the values from the quicken.chk file below:
  
[Top]
Guid = 67b144d1-96a5-48d5-9337-0e1083bbf229
Title = Quicken/QuickBooks (tm) US-Letter
Rotation = 0.0
Translation = 0.0;4.0
Show_Grid = false
Show_Boxes = false

[Check Positions]
Height = 252.0
Names = Top;Middle;Bottom

[Check Items]
Type_1 = PAYEE
Coords_1 = 90.0;102.0;400.0;20.0

Type_2 = AMOUNT_WORDS
Coords_2 = 90.0;132.0

Type_3 = AMOUNT_NUMBER
Blocking_Chars_3 = true
Coords_3 = 500.0;102.0

Type_4 = DATE
Coords_4 = 500.0;67.0

Type_5 = NOTES
Coords_5 = 50.0;212.0

Type_6 = ADDRESS
Coords_6 = 90.0;192.0

Units must be set to Points ( at the bottom of the Custom Format tab ).

For fields that you do not want to print ( such as SPLIT_AMOUNT ), the position must be set off the page.  I used x,y = 0,900 to put it off the bottom of the page.

Print then works, and the custom values are remembered the next time gnucash starts.

Using Save Format and then later using the new .chk file does not work: same problem as the other .chk files.
Comment 27 Don 2011-09-23 02:48:26 UTC
(In reply to comment #26)
> I copied the values from the quicken.chk file (Quicken/Quickbook US Letter).
> 
> In the Print Checks dialog, select Custom for Check Format.  Go to Custom
> Format tab and enter the values from the quicken.chk file below:
> 
> [Top]
> Guid = 67b144d1-96a5-48d5-9337-0e1083bbf229
> Title = Quicken/QuickBooks (tm) US-Letter
> Rotation = 0.0
> Translation = 0.0;4.0
> Show_Grid = false
> Show_Boxes = false
> 
> [Check Positions]
> Height = 252.0
> Names = Top;Middle;Bottom
> 
> [Check Items]
> Type_1 = PAYEE
> Coords_1 = 90.0;102.0;400.0;20.0
> 
> Type_2 = AMOUNT_WORDS
> Coords_2 = 90.0;132.0
> 
> Type_3 = AMOUNT_NUMBER
> Blocking_Chars_3 = true
> Coords_3 = 500.0;102.0
> 
> Type_4 = DATE
> Coords_4 = 500.0;67.0
> 
> Type_5 = NOTES
> Coords_5 = 50.0;212.0
> 
> Type_6 = ADDRESS
> Coords_6 = 90.0;192.0
> 
> Units must be set to Points ( at the bottom of the Custom Format tab ).
> 
> For fields that you do not want to print ( such as SPLIT_AMOUNT ), the position
> must be set off the page.  I used x,y = 0,900 to put it off the bottom of the
> page.
> 
> Print then works, and the custom values are remembered the next time gnucash
> starts.
> 
> Using Save Format and then later using the new .chk file does not work: same
> problem as the other .chk files.


Thanks for that information.  I played with it on my Windows XP which has the problem with tiny fonts and came up with a solution, although not totally satisfactory since it still is about size 6 font in the end.

I changed the font in Preferences to the largest available: 72
I then created a new custom file which I saved when I was finished and these are the coordinates that worked for me on a laser printer:

Show_Grid=false
Show_Boxes=false
Rotation=0
Translation=10;3;

[Check Items]
Type_1=PAYEE
Coords_1=450;825;
Type_2=DATE
Coords_2=3150;550;
Type_3=AMOUNT_WORDS
Coords_3=1650;1025;
Type_4=AMOUNT_NUMBER
Coords_4=4050;825;
Type_5=ADDRESS
Coords_5=450;1700;
Type_6=NOTES
Coords_6=450;2500;
Type_7=MEMO
Coords_7=550;4500;
Type_8=SPLITS_AMOUNT
Coords_8=2500;6000;
Type_9=SPLITS_MEMO
Coords_9=350;5500;
Type_10=SPLITS_ACCOUNT
Coords_10=1500;5000;

I also found that I could open the .chk files with "wordpad" even though Windows thinks these files are fragments that are useless and not useable by its programs and then add more if needed.

I still think the module needs work.  Why can't it use the windows default page size and font?  Just like printing of reports does?  When I changed the font in preferences, it only affected the print checks option.  Reports print normal and not tiny.

At any rate, thanks for a great program except for this one bug.
Comment 28 Don 2011-09-23 02:51:21 UTC
If you use wordpad to edit a chk file in windows xp, only "save" it in the file dropdown.  If you use "save as", it will change format and make it useless.
Comment 29 Don 2011-09-23 12:41:01 UTC
I played with this some more and found a workaround that works for my computer and printer.  I found a check form on the internet by Heckert and want to give him credit for the basic layout.  I used wordpad and "save" (not "save as") to adjust the font size and location until I got this which works with a check form that is close to a Quicken form.  Font size 80 is close to font size 12 in the usual sizes due to the problem with reducing the size of everything in the print check module.


[Top]
Guid=a3ad29b733ba8faa46721c93fff288ce
Title=Heckert 3part nolines
Show_Grid=false
Show_Boxes=false
Rotation=0
Translation=10;3;

[Check Items]
Type_1=PAYEE
Font_1 = sans 80
Coords_1=450;825;

Type_2=DATE
Font_2 = sans 80
Coords_2=3150;550;

Type_3=AMOUNT_WORDS
Font_3 = sans 80
Blocking_Chars_3 = true
Coords_3=1650;1025;

Type_4=AMOUNT_NUMBER
Font_4 = sans 80
Blocking_Chars_4 = true
Coords_4=4050;825;

Type_5=ADDRESS
Font_5 = sans 80
Coords_5=450;1700;

Type_6=NOTES
Coords_6=450;2500;

#Type_7=MEMO
#Coords_7=550;2500;


#Type_8=TEXT
#Text_8 = 
#Coords_8=1650;1075;

Type_9=TEXT
Text_9 = THE SUM OF
Font_9 = sans 80
Coords_9=1000;1025;

Type_11=TEXT
Text_11 =
Coords_11=500;110;

Type_12=TEXT
Text_12 =
Coords_12=90;125;

# stub 1

Type_13=SPLITS_MEMO
Coords_13=450;2700;

Type_14 = PAYEE
Coords_14= 550.0;3000.0

Type_15 = DATE
Coords_15 = 3150.0;3000.0

Type_16 = NOTES
Coords_16 = 450.0;4000.0

Type_17 = TEXT
Text_17 = Total
Coords_17 = 200;3600.0

Type_18=SPLITS_AMOUNT
Coords_18=1500;3600;

Type_19 = AMOUNT_NUMBER
Coords_19 = 800.0;3600.0

# stub 2

Type_20 = PAYEE
Coords_20 = 450.0;4500.0

Type_21 = DATE
Coords_21 = 3150.0;4500.0

Type_22 = NOTES
Coords_22 = 450.0;5210.0

Type_23 = TEXT
Text_23= Total
Coords_23 = 3000;5725.0

Type_24=SPLITS_AMOUNT
Coords_24=3500;5000;

Type_8 = AMOUNT_NUMBER
Coords_8 = 3500.0;5725.0

Type_7=SPLITS_MEMO
Coords_7=450;4100;

Type_10=SPLITS_ACCOUNT
Coords_10=1500;5000;

Hope this helps someone else and saves them several hours of trial and error.
Comment 30 Don 2011-09-23 12:53:03 UTC
You will need a saved check file to start with since I don't think you can create a ".chk" file in windows.  That's reserved for the system.  So just create a custom check in Gnucash and save it with a name you like for your system, locate and open it with Wordpad, delete the original contents, then copy and paste the commands I listed into it click "save". That should work unless you need to change the guid info.  You can find location info and guid changing info in the comments at the beginning of this bug thread 631611.
Comment 31 Don 2011-09-23 12:56:11 UTC
Comment 23 gives the location info and guid info.


The documentation is at 

http://code.gnucash.org/docs/guide/check_format_info.html#check_format_notes
Comment 32 Don 2011-09-23 13:23:31 UTC
One more thing about Comment 29, I didn't carry the font command all the way through because I set the system font in preferences to the maximum already and that handles the stub font, 72 approximates size 10.
Comment 33 Thomas Troesch 2011-09-23 18:44:37 UTC
On my machine the scaling ratio is 600/72 -> 8.333.  This is based on my printer DPI of 600 ( I think ;)

So there seems to be three basic ways to hack this problem:

1.  Copy an existing .chk file, edit, and scale everything by 8.333  e.g.  Font=sans 10 becomes Font=sans 83.33 and so on for all the numbers except rotation.  Add a Font= line in the [Top] section if not there.  This sets a default font for all items.  The Guid also has to be changed, and in true hacking spirit I just changed the last digit.

There are previous comments describing editing. I used WordPad.  Briefly:

The original file is in c:\Program Files\gnucash\share\gnucash\checks and the edited file is in c:\Documents and Settings\[your user name]\.gnucash\checks.  Or just save a custom format and edit that file ( in this case the Guid is fine ).

2.  Change the printer 'resolution'.  I can do this with PDFCreator by selecting Preferences in the print dialog, selecting Advanced and changing Print Quality from 600DPI to 72DPI.  Unfortunately, I haven't found a way to save this setting.

3.  Use custom format.

Notes:
The only things that don't work with method 1 is DateFormat ( it prints too small ) and Show_Grid=true.  This is not likely to be a problem for most.

Everything works with method 2.

Method 3 has severely limited function e.g. no stub printing, no voucher checks.
Comment 34 Mike Evans 2011-10-27 12:04:26 UTC
*** Bug 662688 has been marked as a duplicate of this bug. ***
Comment 35 Chris Smith 2012-04-11 02:45:19 UTC
Still a problem/bug on 2012-04-10.  Using GNUcash 2.4.10 on Windows 7 Professional 64 bit.

Man... this is annoying.  Check printing worked great on my Ubuntu machine!
Comment 36 Geert Janssens 2012-06-27 16:03:02 UTC
I finally managed to track this bug down. It turns out I was looking in the wrong place for the cause.

Lesson learned: never ever use cairo_identity_matrix on the cairo_t that is returned from gtk_print_context_get_cairo_context. It will totally mess up the scaling of a page to print on Windows.

It will be fixed in 2.4.11.
Comment 37 John Ralls 2018-06-29 22:45:35 UTC
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=631611. Please update any external references or bookmarks.