We're trying to output labels to a Zebra label printer using standard .Net System.Drawing.Printing classes, and it looks like crap. I've seen other label-printing apps output fonts that are are tiny, high-contrast, and readable. Other barcodes are tiny, yet scannable with crisp, sharp bars. Color logos come out in diffusion-dithered black and white.
Trying to draw anything that small in our app is unreadable; even 12-point fonts come out with artifacts all over the place. Barcodes have little halftoning patterns on their edges, and logos look like a 20th-generation photocopy.
I read through some Zebra docs, and they suggest writing raw EPL codes to the printer via serial emulation. We cannot do this, we have to work on whatever Windows printer the customer selects. Is there some way to render to the device resolution, or prevent dithering?
I can suggest some places to get custom fonts or info about programs to make them. Let me know if you have a question about any of this or tell me how it helps. I am afraid that the font is the key here to getting the output and it will be very hard to make another work with good results.