On 12/16/23 3:30 AM, Mark Raynsford wrote:
I have, yes. I actually considered properties for each of these, but I thought it more important to be able to specify them on a node-by-node basis.
I would prefer not to have the tyranny of the project default replaced with a new tyranny of the app default. :-)
Wouldn't it be nice to allow developers and end users to enable hinting for any JavaFX application just by defining a system property?
Bonus: JavaFX doesn't include its system properties in the API documentation yet, and there's no guarantees made that they won't change, so you're kind of off the hook on documentation, too.
Of course, I could always do both, as with the way font smoothing is right now (prism.lcdtext and -fx-font-smoothing-type: gray). :)
Would you consider splitting it into two enhancement requests? The first could propose the global properties, and a second could allow the developer to set them node by node.
You may know much of this already, but for what it's worth, below are some suggestions based on my own experience.
For all the reasons mentioned in Phil's message, text rendering issues are in their own special category, regardless of the project. They can be a tough sell, so the burden is on the reporter to provide overwhelming evidence, preferably with text and images all on one page.
It helps to go big with any "before" and "after" screenshots: 800 percent minimum, 400 percent for a retina display, with "smoothing" disabled for the image zoom. If at all possible, do what you can to take the issue out of the realm of opinions, where it's often dismissed outright. For example, see <https://github.com/javafxports/openjdk-jfx/issues/229>.
The template below is a good format for enhancement requests. I find it's better to be too formal than too causal. You could post it all on one page, with images inline, somewhere on GitHub.
JEP Template https://openjdk.org/jeps/2 See also, of course: Contributing to OpenJFX https://github.com/openjdk/jfx/blob/master/CONTRIBUTING.md John