Please post your KiCAD version from Help>About>Copy KiCad version and if you don’t mind sharing those Gerbers maybe you could post them here, for others to look at them, if it is not possible, at least make an screenshot of your print dialog and the options that you selected.
It looks like a bug if the view in Gerbview looks so different from a printed version. Posting the gerber files would help.
Is there any difference you can see on the gerber files between the features that do and do not print?
You can also: Gerbview / File / Export to Pcbnew and then print with Pcbnew.
I also spot 2 errors right away.
The measurements should not be on the gerber files at all. I also see the outline of the PCB, and that outline should not be on a copper layer, but only be on a separate gerber layer.
Only put on a copper gerber layer what you want to become actual copper, and nothing else.
I am not familiar with “negative” features on Gerber files (don’t know much about Gerber at all, just the basics).
As far as I know Gerbview works very nicely with Gerbers generated by KiCad, but KiCad probably does not use those “negative features”.
My common sense tells me that the printout should look the same as in Gerview itself, so this sure does look like a bug in KiCad.
As far as I know KiCad developers are very keen on squashing any bug in KiCad, and a test file to reproduce a bug is a big step in improving the software.
I understand you want to be careful with the files of your customer. and the simplest solution is to just use another viewer.
If you want to help improving KiCad, there are a few simple things you can consider:
You could share a single layer of the gerber confidentially with the kicad developers.
You can delete 90% or more from a gerber layer and upload it here.
You can ask your customer to make a small test file with some “negative” features.
Also:
Do you know with which software those gerbers were generated?
If you do, then maybe another KiCad user with access to that software can make a test file.
A negative object is subtracted from a normal positive object. KiCad doesn’t use negatives when it creates gerbers. I’m not surprised if there’s a bug in printing them.
I do of course know what a negative is.
KiCad uses them in footprints internally for the solder mask and solder stencil layers, but those do not make it to the Gerbers as far as I know.
Of course you know what a negative is, but it has a specific meaning in gerber files. A gerber graphic object is marked as negative and subtracted from another object. KiCad doesn’t use such objects in the board file format or the footprint file format, nor does it use such objects in the generated gerbers AFAIK. The “negative” mask layer is a different thing, it’s about interpretation WRT external world, not about file formats.