誰かが助けてくれることを願っています。TextRenderingHint.SingleBitPerPixel は、.net からバーコードを印刷するときにアンチエイリアシングをオフにしていないようです。
バーコードを実際にレンダリングするコードのスニペットを次に示します。
graphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixel;
graphics.DrawString(
barCodeText,
humanReadableFont,
Brushes.Black,
currentXPosition,
currentYPosition,
StringFormat.GenericTypographic);
デバッグ中に出力を詳しく調べるために、「Microsoft Office Document Image Writer」プリンターを使用して .tiff 形式のファイルに出力しています。.tiff を拡大すると、アンチエイリアシングが黒いバーコード バーの周りの灰色の光輪としてはっきりと見えます。
同様に、実際のプリンター (HP Laser Jet エミュレーション モードの BOCA チケット プリンター) に印刷すると、バーコードがにじむ/予想より太く表示されます。
ポイントサイズが大きくても問題なくスキャンできるため、バーコードが構文的に正しいことはわかっています。また、ネイティブの「FGL」モードでは、私のものよりもさらに小さい判読可能なバーコードを印刷するため、プリンターが少なくとも私が要求しているのと同じくらい小さい判読可能なバーコードを印刷できることも知っています。
使用しているフォントはエルフリングフォント社の「Code 128AB」と「Code 128AB HR」です。
ありがとう
ヨアヒム