Closed Bug 148690 Opened 23 years ago Closed 23 years ago

RFE: For Xprint force use of outline scaleable fonts if possible

Categories

(Core Graveyard :: Printing: Xprint, enhancement)

All
Linux
enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.0.1

People

(Reporter: roland.mainz, Assigned: roland.mainz)

References

Details

Attachments

(1 file, 1 obsolete file)

RFE: Xprint module should force the use of outline scaleable fonts if possible
Taking myself...
Assignee: katakai → Roland.Mainz
QA Contact: Roland.Mainz → katakai
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.1alpha
Attached patch Patch for 2002-05-31-08-trunk (obsolete) — Splinter Review
This patch forces the use of outline scaled fonts (or printer-builtin fonts) unless there is no other font available.
BTW: This patch "obsoletes" the hack fix for bug 88554 ("Xprint module should avoid using GFX fonts unless there is no other option", see see |#ifdef XPRINT_FONT_HACK| in mozilla/gfx/src/xprint/nsDeviceContextXP.cpp) + bug 116158 ("Enhance the workaround for bug 88554") and may even be a fix for bug 93771 ("Mozilla uses low-resolution bitmap fonts on high resolution X11 displays") on Xprint devices.
Attachment #85989 - Attachment is obsolete: true
Requesting r=/sr= ... ---- The patch now "avoids" non-outline scaleable fonts on Xprint devices unless there are no other fonts available for this encoding. I know we are loosing the ability to address bitmap fonts via the CSS spec but that was _excactly_ the problem what caused bug 88554 and all the DUPlicates for this issue (the bitmap fonts are not _banned_, the patch just avoids that locale prefs or CSS specs cause that we print always with bitmap fonts). I am confident that we do not want to print bitmap fonts all the time when there are better-quality (scaleable!) fonts available Scaleable fonts are _not_ affected by this patch and are addressable via CSS and locale prefs as usual... :) Risk control: The patch adds a new pref which which enables the feature by default for Xprint devices (it's disabled by default on normal (framebuffer) Xservers, e.g. does not affect the users unless they print with Xprint) but allows to disable the code if something goes wrong. I've tested the patch with the print regression tests, MathML sample pages and the examples from bug 88554 &co. (e.g. http://www.fbi.gov/congress/congress99/freehct2.htm , http://www.cnn.com/ etc.) and they all printed fine without bitmap fonts even when you offer tons of them.
Keywords: patch, review
Comment on attachment 86073 [details] [diff] [review] New patch for 2002-05-31-08-trunk (for both GTK+ and Xlib gfx) It make sense. r=shanjian
Attachment #86073 - Flags: review+
Changed the title from: RFE: Force use of outline scaleable fonts if possible to: RFE: for XPrint force use of outline scaleable fonts if possible Roland: Could you describe how this global only affect print display and not screen display: +#ifdef USE_XPRINT + if (nsFontMetricsXlib::mPrinterMode) { + gForceOutlineScaledFonts = PR_TRUE; + } +#endif /* USE_XPRINT */
Summary: RFE: Force use of outline scaleable fonts if possible → RFE: for XPrint force use of outline scaleable fonts if possible
Brian Stell wrote: > Changed the title from: > RFE: Force use of outline scaleable fonts if possible > to: > > RFE: for XPrint force use of outline scaleable fonts if possible s/XPrint/Xprint/ :) > Roland: Could you describe how this global only affect print display and > not screen display: > > +#ifdef USE_XPRINT > + if (nsFontMetricsXlib::mPrinterMode) { > + gForceOutlineScaledFonts = PR_TRUE; > + } > +#endif /* USE_XPRINT */ 1. |static| variables are only per object file, e.g. having two |static| vars with the same name in different object files does not cause any problems - they are all seperate (look above and below the declaration of that var - there are tons of those vars which have the same name and datatype as in other modules). Don't worry... :) 2. [not the case here but listed for completeness:] global variables are (in Mozilla) per XPCOM module, having two global vars in two seperate modules cannot cause problems. 3. [not the case here but listed for completeness:] The only known problem in mozilla is when we have C++ class names in different modules with the same name - this will cause a build failure in StaticBuilds on some platforms.
Summary: RFE: for XPrint force use of outline scaleable fonts if possible → RFE: For Xprint force use of outline scaleable fonts if possible
Okay, I was not thinking about a cross module build issue but I'm glad to hear we do not have a problem. I was curious what effect gForceOutlineScaledFonts would have if nsFontMetricsXlib::mPrinterMode = PR_FALSE.
Brian Stell wrote: > I was curious what effect gForceOutlineScaledFonts would have if > nsFontMetricsXlib::mPrinterMode = PR_FALSE. Well, then the code should behave like on normal displays unless you set the "font.x11.force_outline_scaled_fonts" prefs to TRUE (this feature may be very valuable for (non-Xprint) high-resolution displays (you can get 200 DPI displays for less than 10000 euro and even "affordable" 300 DPI displays are available today :))
Requesting sr= ...
Comment on attachment 86073 [details] [diff] [review] New patch for 2002-05-31-08-trunk (for both GTK+ and Xlib gfx) sr=jst
Attachment #86073 - Flags: superreview+
Requesting a{1.1alpha}= ...
Keywords: approval
Requesting a{1.0.1_branch}= ...
Keywords: mozilla1.0.1
Target Milestone: mozilla1.1alpha → mozilla1.0.1
Blocks: xprint_machv
Comment on attachment 86073 [details] [diff] [review] New patch for 2002-05-31-08-trunk (for both GTK+ and Xlib gfx) please check into the 1.0.1 branch ASAP. once landed remove the mozilla1.0.1+ keyword and add the fixed1.0.1 keyword
Attachment #86073 - Flags: approval+
Checked in to trunk for Roland
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Keywords: mozilla1.0.1
Requesting a= for 1.0.1-branch...
refresh of a= for 1.0 branch
Checked in to branch
Keywords: fixed1.0.1
Filed bug 168043 ("Remove some obsolete code from the PostScript and Xprint print modules") to get the obsolete code in |#ifdef XPRINT_FONT_HACK ... #endif| removed.
Blocks: 168043
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: