Re: Poor font rendering..
Hi Felipe, thanks for the detailed reply, that Firefox blog post is interesting. I guess sub-pixel positioning is the crucial point here. If a black, 1-pixel wide vertical stroke is positioned between two pixels, you'll get a dimmer, 2-pixel wide stroke instead. Suppose I want to see what GDI, SWT-like text looks like in JavaFX. I should set -Djavafx.text=t2k. But looking at the picture (http://i.imgur.com/CGyckge.png) it still seems there is some additional blurring in JavaFX. Some additional sub-pixel positioning logic, perhaps? But I concede that there has to be a compromise between positioning and 'vibrancy' for small text. Cheers, Rob -Ursprüngliche Nachricht- Von: openjfx-dev [mailto:openjfx-dev-boun...@openjdk.java.net] Im Auftrag von Felipe Heidrich Gesendet: Montag, 10. März 2014 18:46 An: OpenJFX Mailing List Betreff: Re: Poor font rendering.. Thank you Rob, DirectWrite is the engine JavaFX uses to produces glyph masks (white on black), therefore JavaFX text should resemble that of DirectWrite (it is not exactly the same, as JavaFX does its own color blending and gamma correction). We decided to use DirectWrite for JavaFX because it is the most modern native technology on Windows that we can use. In particular, we were interested on sub pixel positioned text. GDI, for example, all glyph positioning are expressed as integer, and glyphs are (usually) aggressively hinted. Interesting FIreFox had all the same trouble when they switched from GDI to DirectWrite. Please read https://blog.mozilla.org/nattokirai/2011/08/11/directwrite-text-rendering-in-firefox-6/ JavaFX always uses DirectWrite natural mode rendering. We too can provided switches for GDI Classic rendering mode, cleartype level, enhanced contrast, gamma, etc. It is all defined here http://msdn.microsoft.com/en-us/library/windows/desktop/dd371285(v=vs.85).aspx Maybe that would help ? Notes: SWT uses GDI to render text (I know, I implemented it). JavaFX with -Djavafx.text=t2k uses GDI to render LCD text, SWT and JavaFX with -Djavafx.text=t2k are not same, but similar, likely again because JavaFX does its own color blending and gamma correction. Felipe
Re: Build Errors on Windows 8.1 / VS2012 Pro / JDK 1.8.0-b132 [was: Build Errors on Windows 8.1 / VS2010 Pro / JDK 1.8.0-b132]
Thanks, Artem. Yes, the version of Visual Studio that we build JavaFX with must be tied to that of the JDK. VS 2010 SP1 for JDK 8 and 8u. Probably VS 2013 for JDK 9. Prior to that, we may want to fix any issues that prevent developers from building on VS 2012 or 2013. -- Kevin Artem Ananiev wrote: On 3/8/2014 1:04 AM, Kevin Rushforth wrote: Hi Kay, It looks like you are using VS2012 not 2010. We build JavaFX with VS 2010, and have some issues with 2012. However, we will need to resolve them at some point. Maybe someone else on the list has had luck building with VS 2012? I was able to build FX with VS 2012 some time ago. The changes were mostly cosmetic (caused by different Visual Studio and Platform SDK directory layouts), except static C++ runtime linkage. And, of course, FX should be aligned with JDK, which is shipped with VS 2010 runtime (will it be changed in JDK9?), otherwise FX will have to ship with its own runtime libraries. Thanks, Artem -- Kevin Kay McCormick wrote: Here is what I see as the relevant portions of the build log. This is beyond my ability to fix easily at this point. I would attach the entire compile log but I compiled with --debug and its 4mb. Let me know if I should provide more information, file a bug, or direct my problem to another forum. Kay 12:35:16.275 [INFO] [org.gradle.process.internal.DefaultExecHandle] Successfully started process 'command 'C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/amd64/link.exe'' 12:35:16.329 [QUIET] [system.out] libcpmt.lib(xthrow.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in directwrite.obj 12:35:16.332 [QUIET] [system.out] libcpmt.lib(syserror.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in directwrite.obj 12:35:16.336 [QUIET] [system.out]Creating library C:\Users\kay\Documents\current\openjfx\rt\modules\graphics\build\libs\font\win\javafx_font.lib and object C:\Users\kay\Documents\current\openjfx\rt\modules\graphics\build\libs\font\win\javafx_font.exp 12:35:16.362 [QUIET] [system.out] C:\Users\kay\Documents\current\openjfx\rt\modules\graphics\build\libs\font\win\javafx_font.dll : fatal error LNK1319: 2 mismatches detected 12:35:16.368 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: FAILED 12:35:16.368 [INFO] [org.gradle.process.internal.DefaultExecHandle] Process 'command 'C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/amd64/link.exe'' finished with exit value 1319 (state: FAILED) 12:35:16.368 [DEBUG] [org.gradle.logging.internal.DefaultLoggingConfigurer] Finished configuring with level: DEBUG, configurers: [org.gradle.logging.internal.OutputEventRenderer@1593948d, org.gradle.logging.internal.logback.LogbackLoggingConfigurer@1b604f19, org.gradle.logging.internal.JavaUtilLoggingConfigurer@7823a2f9] 12:35:16.369 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':graphics:linkWinFont' 12:35:16.369 [LIFECYCLE] [org.gradle.TaskExecutionLogger] :graphics:linkWinFont FAILED 12:35:16.369 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :graphics:linkWinFont (Thread[main,5,main]) completed. Took 0.104 secs. 12:35:16.369 [DEBUG] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] Task worker [Thread[main,5,main]] finished, busy: 3 mins 14.44 secs, idle: 0.017 secs 12:35:16.390 [LIFECYCLE] [org.gradle.BuildResultLogger] 12:35:16.390 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED 12:35:16.390 [LIFECYCLE] [org.gradle.BuildResultLogger] 12:35:16.390 [LIFECYCLE] [org.gradle.BuildResultLogger] Total time: 3 mins 29.213 secs
Re: Build Errors on Windows 8.1 / VS2012 Pro / JDK 1.8.0-b132 [was: Build Errors on Windows 8.1 / VS2010 Pro / JDK 1.8.0-b132]
I tried the other day and failed because some standard windows desktop include files were not visible. I suspect that somewhere we were targetting the WinRT desktop or that a #defined was needed to force files to be included. The missing .h files were some OLE stuff that allowed FX to integrate with desktop. Steve On 2014-03-11 8:03 AM, Kevin Rushforth wrote: Thanks, Artem. Yes, the version of Visual Studio that we build JavaFX with must be tied to that of the JDK. VS 2010 SP1 for JDK 8 and 8u. Probably VS 2013 for JDK 9. Prior to that, we may want to fix any issues that prevent developers from building on VS 2012 or 2013. -- Kevin Artem Ananiev wrote: On 3/8/2014 1:04 AM, Kevin Rushforth wrote: Hi Kay, It looks like you are using VS2012 not 2010. We build JavaFX with VS 2010, and have some issues with 2012. However, we will need to resolve them at some point. Maybe someone else on the list has had luck building with VS 2012? I was able to build FX with VS 2012 some time ago. The changes were mostly cosmetic (caused by different Visual Studio and Platform SDK directory layouts), except static C++ runtime linkage. And, of course, FX should be aligned with JDK, which is shipped with VS 2010 runtime (will it be changed in JDK9?), otherwise FX will have to ship with its own runtime libraries. Thanks, Artem -- Kevin Kay McCormick wrote: Here is what I see as the relevant portions of the build log. This is beyond my ability to fix easily at this point. I would attach the entire compile log but I compiled with --debug and its 4mb. Let me know if I should provide more information, file a bug, or direct my problem to another forum. Kay 12:35:16.275 [INFO] [org.gradle.process.internal.DefaultExecHandle] Successfully started process 'command 'C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/amd64/link.exe'' 12:35:16.329 [QUIET] [system.out] libcpmt.lib(xthrow.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in directwrite.obj 12:35:16.332 [QUIET] [system.out] libcpmt.lib(syserror.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in directwrite.obj 12:35:16.336 [QUIET] [system.out]Creating library C:\Users\kay\Documents\current\openjfx\rt\modules\graphics\build\libs\font\win\javafx_font.lib and object C:\Users\kay\Documents\current\openjfx\rt\modules\graphics\build\libs\font\win\javafx_font.exp 12:35:16.362 [QUIET] [system.out] C:\Users\kay\Documents\current\openjfx\rt\modules\graphics\build\libs\font\win\javafx_font.dll : fatal error LNK1319: 2 mismatches detected 12:35:16.368 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: FAILED 12:35:16.368 [INFO] [org.gradle.process.internal.DefaultExecHandle] Process 'command 'C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/amd64/link.exe'' finished with exit value 1319 (state: FAILED) 12:35:16.368 [DEBUG] [org.gradle.logging.internal.DefaultLoggingConfigurer] Finished configuring with level: DEBUG, configurers: [org.gradle.logging.internal.OutputEventRenderer@1593948d, org.gradle.logging.internal.logback.LogbackLoggingConfigurer@1b604f19, org.gradle.logging.internal.JavaUtilLoggingConfigurer@7823a2f9] 12:35:16.369 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':graphics:linkWinFont' 12:35:16.369 [LIFECYCLE] [org.gradle.TaskExecutionLogger] :graphics:linkWinFont FAILED 12:35:16.369 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :graphics:linkWinFont (Thread[main,5,main]) completed. Took 0.104 secs. 12:35:16.369 [DEBUG] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] Task worker [Thread[main,5,main]] finished, busy: 3 mins 14.44 secs, idle: 0.017 secs 12:35:16.390 [LIFECYCLE] [org.gradle.BuildResultLogger] 12:35:16.390 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED 12:35:16.390 [LIFECYCLE] [org.gradle.BuildResultLogger] 12:35:16.390 [LIFECYCLE] [org.gradle.BuildResultLogger] Total time: 3 mins 29.213 secs
hg: openjfx/8u-dev/rt: RT-36065 [ScrollPane] Focus traversal to the first or last item does not make the ScrollPane to scroll to that item
Changeset: b7dbbad9c9bd Author:Martin Sladecek Date: 2014-03-11 15:48 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/b7dbbad9c9bd RT-36065 [ScrollPane] Focus traversal to the first or last item does not make the ScrollPane to scroll to that item Reviewed by: dgrieve ! modules/builders/src/main/java/javafx/scene/ParentBuilder.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/MenuBarSkin.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ScrollPaneSkin.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ToolBarSkin.java ! modules/graphics/src/main/java/com/sun/javafx/scene/traversal/Algorithm.java ! modules/graphics/src/main/java/com/sun/javafx/scene/traversal/ContainerTabOrder.java ! modules/graphics/src/main/java/com/sun/javafx/scene/traversal/Direction.java ! modules/graphics/src/main/java/com/sun/javafx/scene/traversal/Hueristic2D.java + modules/graphics/src/main/java/com/sun/javafx/scene/traversal/ParentTraversalEngine.java + modules/graphics/src/main/java/com/sun/javafx/scene/traversal/SceneTraversalEngine.java + modules/graphics/src/main/java/com/sun/javafx/scene/traversal/SubSceneTraversalEngine.java ! modules/graphics/src/main/java/com/sun/javafx/scene/traversal/TabOrderHelper.java + modules/graphics/src/main/java/com/sun/javafx/scene/traversal/TopMostTraversalEngine.java ! modules/graphics/src/main/java/com/sun/javafx/scene/traversal/TraversalEngine.java ! modules/graphics/src/main/java/com/sun/javafx/scene/traversal/WeightedClosestCorner.java ! modules/graphics/src/main/java/javafx/scene/Node.java ! modules/graphics/src/main/java/javafx/scene/Parent.java ! modules/graphics/src/main/java/javafx/scene/Scene.java ! modules/graphics/src/main/java/javafx/scene/SubScene.java ! modules/graphics/src/test/java/com/sun/javafx/scene/traversal/TraversalTest.java ! modules/graphics/src/test/java/com/sun/javafx/scene/traversal/TraverseInvisibleTest.java - modules/graphics/src/test/java/javafx/scene/RegistrationTest.java ! modules/web/src/main/java/com/sun/javafx/scene/web/behavior/HTMLEditorBehavior.java ! modules/web/src/main/java/com/sun/javafx/scene/web/skin/HTMLEditorSkin.java
hg: openjfx/8u-dev/rt: 2 new changesets
Changeset: a4ee872a75bb Author:Martin Sladecek Date: 2014-03-11 16:14 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/a4ee872a75bb RT-35831 XYChart Series: NullPointerException when changing Series which is not assigned to a chart Reviewed by: jgiles ! modules/controls/src/main/java/javafx/scene/chart/XYChart.java ! modules/controls/src/test/java/javafx/scene/chart/XYChartTest.java Changeset: 685651bc38c2 Author:Martin Sladecek Date: 2014-03-11 16:15 +0100 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/685651bc38c2 RT-36151 Custom XYChart Memory-Leak Reviewed by: jgiles ! modules/controls/src/main/java/javafx/scene/chart/AreaChart.java ! modules/controls/src/main/java/javafx/scene/chart/BarChart.java ! modules/controls/src/main/java/javafx/scene/chart/LineChart.java ! modules/controls/src/main/java/javafx/scene/chart/XYChart.java
hg: openjfx/8u-dev/rt: RT-35619 : IMX6-SDP / Yocto hard float : crash while running hello.HelloComboBox
Changeset: d550116b8d71 Author:Rafi Tayar Date: 2014-03-11 17:54 +0200 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/d550116b8d71 RT-35619 : IMX6-SDP / Yocto hard float : crash while running hello.HelloComboBox Reviewed-by : kselle, dblaukopf ! modules/graphics/src/main/native-glass/lens/LensCommon.h ! modules/graphics/src/main/native-glass/lens/LensWindow.c ! modules/graphics/src/main/native-glass/lens/wm/LensWindowManager.c
Re: No split-cursor inside JFXPanel
Hi Werner, I've re-targeted this bug to 8u20. -- best regards, Anthony On 3/7/2014 9:27 PM, Werner Lehmann wrote: Hi, inside a JFXPanel we don't see the split-cursors (e.g. east/west). This is a known issue: [#RT-26235] SplitPane in JFXPanel: Mouse cursor not changed https://javafx-jira.kenai.com/browse/RT-26235 This affects regular splitpanes as well as custom nodes which just use those cursors. The fix version for this is 9. This is going to be a highly visible issue in our application when we convert more parts to JFXPanels this year. Can this fix be done for one of the upcoming 8uXX releases instead? Thanks, Werner
hg: openjfx/8u-dev/rt: [DOC ONLY] RT-32340: Update javadoc for MenuBar
Changeset: c508ecd2723b Author:leifs Date: 2014-03-11 10:43 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/c508ecd2723b [DOC ONLY] RT-32340: Update javadoc for MenuBar ! modules/controls/src/main/java/javafx/scene/control/MenuBar.java
hg: openjfx/8u-dev/rt: RT-26235: SplitPane in JFXPanel: Mouse cursor not changed
Changeset: 0e800351fd4b Author:Anthony Petrov Date: 2014-03-11 22:16 +0400 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/0e800351fd4b RT-26235: SplitPane in JFXPanel: Mouse cursor not changed Summary: Use N_ and W_RESIZE AWT cursors for V_ and H_RESIZE FX cursors in JFXPanel ! modules/swing/src/main/java/javafx/embed/swing/SwingCursors.java
hg: openjfx/8u-dev/rt: [TEST-ONLY] fix compilation error in builder tests after change to TraversalEngine
Changeset: e256204869fb Author:kcr Date: 2014-03-11 11:39 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/e256204869fb [TEST-ONLY] fix compilation error in builder tests after change to TraversalEngine ! modules/builders/src/test/java/javafx/scene/Group_builder_Test.java
[8u20] review request: https://javafx-jira.kenai.com/browse/RT-36163
David, Please review the (simple) build fix for: JIRA: https://javafx-jira.kenai.com/browse/RT-36163 Webrev: http://cr.openjdk.java.net/~kcr/RT-36163/ -- Kevin
Re: [8u20] review request: https://javafx-jira.kenai.com/browse/RT-36163
On 3/11/14, Mar 11, 6:21 PM, Kevin Rushforth wrote: David, Please review the (simple) build fix for: JIRA: https://javafx-jira.kenai.com/browse/RT-36163 Webrev: http://cr.openjdk.java.net/~kcr/RT-36163/ -- Kevin +1 -- David Hill Java Embedded Development Education: that which reveals to the wise, and conceals from the stupid, the vast limits of their knowledge. -- Mark Twain
hg: openjfx/8u-dev/rt: RT-36163: Cannot build JavaFX using JDK 8u20 or JDK 9
Changeset: 4f508b0b661f Author:kcr Date: 2014-03-11 15:29 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/4f508b0b661f RT-36163: Cannot build JavaFX using JDK 8u20 or JDK 9 Reviewed-by: ddhill ! build.gradle