Tableborder color is wrong on black/white printer

  • Me again ;-))

    Using the latest TextDynamic OCX in VFP9 SP2 i have a problem with the print result of an RTF text loaded with memo.LoadFromFile().

    The RTF itself contains tables with grey bordercolors and some grey backcolor. On Screen the text is correctly presented and even with pdf-export the tables show perfectly with greycolored borders.

    After some testing i found the following:

    When the selecting Printer is capable of color the print is perfect. It makes no difference if it is real hardware like an HP ColorLaser or if it is a virtual color-aware printer like MS XPS Printer or SnagIt 10 VirtualPrinter.

    If i choose a black-n-white Brother Laserprinter as printtarget, the borderlines are printed as black-solidline whereas the originalprint (e.g. with Word 2007) is of course with grey lines.

    So on black-n-white printer the print is not what it should be.

    This "conversion" is done for the "lines" of the tableborder only. If i add colored or grey text to the RTF the text itself is printed perfect on all printers.

    In addition to the "color-problem" sometimes the borderlines are not printed at all, which is even more annoying than solid-black-borders...

    My conclusion: TextDynamics analyses what the PrinterDriver is capable of and adapts the print behaviour accordingly (at least for some of the "painting"). I think this is wrong, because most of the Drivers out there have code to adapt colors to emulated greyshades which works pretty good. TextDynamic should not proactivly make the printing 100% black just because the printer says it's only black/white.

    I would say the source of the problem is to be found somewhere in the "paint lines"-routines because it's only with these where the problem occurs.

    I can provide scanned PDF of both printresults (colorprinter and black/white Printer) and the original RTF if it is of any help for you.

    Any Idea?

    Best regards
    Michael

    • Offizieller Beitrag

    Hello,

    thanks for testing this. I was able to reproduce this effect with a Brother HL-1030. All other printers were ok.

    In the latest build, it is online now, I added a new property which can be activated with Memo.SetBProb(0,23,1) and deactivated with Memo.SetBProb(0,23,0).

    If active, all table lines which are not black or white will be printed as black dotted lines - (dotted instead of solid to simulate gray).

    Regards,
    Julian