Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I use as a basic font GNU FreeFont which includes three faces: FreeSerif, FreeSans and FreeMono. So far I had Canon Pixma IP3600 color ink printer. Yesterday I bought Brother HL-5340D mono laser printer. My old Canon printed FreeFont typefaces well. My new Brother prints some characters with diacritical marks in a bad way. I tried it with both OpenOffice.org 3.2.1 and LibreOffice 3.3.0.
In the Brother User’s Guide I found the information about the default substitution of the TrueType fonts by Device Fonts. The alternative is to use the original fonts downloaded as Softfonts. According to the User’s Guide the printer prints Softfonts slower than Device Fonts.
Unfortunately Linux driver for Brother HL-5340D doesn’t allow to alternate these two options. The same with Windows standard printer driver. The only way to change the mentioned options is to use Windows with BR-Script3 printer driver (PostScript 3 language emulation for Windows).
So I installed Windows XP and at the beginning added the standard printer driver to test it. Windows XP with the standard driver prints FreeFont diacritic characters well.
Then I installed BR-Script3 printer driver and switched it to Substitute with Device Font option. In the result Windows XP printed those characters in a bad way.
Next I switched BR-Script3 printer driver back to the default Substitute with Device Font option. Unfortunately in such case Windows XP printed those characters in a bad way too.
The conclusions are:
– Brother printer used in Linux interprets FreeFont typefaces using some diacritical characters in a bad way;
– Brother printer used in Windows with BR-Script3 printer driver and Substitute with Device Font setting switched on as well as Download as Softfont setting switched on prints these characters in a bad way – in the same manner like in Linux;
– The only way to print these characters in a good way with Brother printer is to use Windows with default driver.
So Windows BR-Script3 printer driver doesn’t work as it should because it doesn’t allow to switch from Device Font to Softfont and back from Softfont to Device Font. In Linux either Brother printer uses bad font substitution of the mentioned typefaces or system substitution of FreeFont faces is bad. Taking into consideration Canon Pixma printer used with Linux printed those typefaces well I assume the first eventuality is more probable: Brother printer used with Linux uses bad font substitution of FreeFont.
In Linux Brother HL-5340D printer uses two binary drivers: cupswrapperHL5340D-2.0.4-1.i386.rpm and hl5340dlpr-2.0.3-1.i386.rpm as well as PPD configuration file: hl-5340d.ppd.gz. Perhaps it’s possible to modify that PPD file to force Brother printer to use good font substitution or don’t use it at all and download fonts from the system. The other possibility I see is to modify the system configuration to enable the good font substitution or disable it at all.
My question is: What could I do to force Brother printer to print all FreeFont characters with diacritical marks in an appropriate way when using Linux?
Last edited by w1k0; 01-21-2011 at 03:28 PM.
I solved the problem. I installed FontForge and inspected FreeFont faces which Brother printer prints in a good way as well as FreeFont faces which Brother printer prints in a bad way. I discovered three regularities:
– characters printed good haven’t padlocks while characters printed bad have padlocks;
– characters printed good have anchors while characters printed bad haven’t anchors;
– characters printed good have accents named “acute” while characters printed bad have accents named either “acutemodifier” or “acutecomb”.
Using FontForge and FreeSerif regular font I altered those three settings one by one for letter “Ó”. In result I stated the problem is caused by bad accents. It’s enough to replace “acutemodifier” or “acutecomb” with “acute” to gain font which Brother printer prints well.
So it isn’t hardware problem but software one.
Now I have to modify a lot of characters in seven fonts. Then I’ll submit that problem to FreeFont maintainers.