RE: Poor quality font rendering

2013-08-23 Thread John C. Turnbull
OK, thanks to everyone who has contributed input to this thread - it's been
most enlightening.

So, in summary, it seems that the dark art of font rendering is complex and
made more so by having to support numerous different operating systems, font
engines, GPUs and monitors etc.

I am sure JavaFX does a pretty good job already under most circumstances but
I (personally) hope things improve further in the future and that the gap
between JavaFX font rendering quality and that of native font rendering is
narrowed.

To this end, there seem to be two main improvements already under
development namely:

1. Sub-pixel positioning ( https://javafx-jira.kenai.com/browse/RT-14187 )
2. Kerning ( https://javafx-jira.kenai.com/browse/RT-7472 )

To assist me in my decision making and planning, would it be possible for
someone to answer:

1. When will both (1) and (2) make it into a JDK8 development build?
2. Are there any other plans/techniques to improve font rendering on the
horizon for JFX8 or later?

As I said, my focus is Windows 7 and Windows 8 at the moment so even if you
can only answer within these contexts it would be much appreciated!

Thanks,

-jct

-Original Message-
From: openjfx-dev-boun...@openjdk.java.net
[mailto:openjfx-dev-boun...@openjdk.java.net] On Behalf Of Phil Race
Sent: Friday, 23 August 2013 06:57
To: John Hendrikx
Cc: openjfx-dev@openjdk.java.net
Subject: Re: Poor quality font rendering

On 8/22/2013 1:23 PM, John Hendrikx wrote:
 Oh.. I forgot to say this, but...

 Screenshots taken with LCD smoothing on are always gonna end up 
 looking different on different monitors... if for example your monitor 
 has slightly different spacing or a different order of the subpixels 
 (or you rotated it), then the screenshot will look wierd.  I prefer to 
 keep LCD smoothing off as I make screenshots / videos regularly and I 
 donot know on what system they'll be viewed on.  So if one of shots 
 has particularly bad colored fringes, it is likely you have a monitor 
 that has a different configuration than mine.

Yes. I have a BGR monitor here :-)

90 degrees rotation also invalidates the LCD but it doesn't look as bad as
getting RGB-BGR wrong

Devices like the i-whatsit and Android ones don't use LCD and I think that
is one reason.
OLED displays don't work well with it either.

Windows is deficient in that it doesn't provide anyway to set LCD on a
per-screen basis and it should. But most about every desktop/laptop is
normal rotation LCD in RGB format.

-phil.





Re: Poor quality font rendering

2013-08-23 Thread John Smith
I'm interested in the answers to John T's questions for Linux as well, as there 
have been reports that font rendering there could use some improvement (though 
I don't have a Linux machine to test it and the reports don't back themselves 
up with screen shots or quantifiable data).

http://stackoverflow.com/questions/18382969/can-the-rendering-of-the-javafx-2-8-font-be-improved

(sorry to add another John to the thread to confuse it ;-)

Regards,
John Smith

hg: openjfx/8/graphics/rt: [DOC] RT-30986 - updated FXML documentation

2013-08-23 Thread hang . vo
Changeset: d128577d8f71
Author:Martin Sladecek martin.slade...@oracle.com
Date:  2013-08-23 09:50 +0200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/d128577d8f71

[DOC] RT-30986 - updated FXML documentation

! modules/fxml/src/main/docs/javafx/fxml/doc-files/introduction_to_fxml.html



hg: openjfx/8/graphics/rt: Fix for RT-32394: Rendering Artifacts with Groups and Transformations

2013-08-23 Thread hang . vo
Changeset: 5c5326c0aa6a
Author:Lubomir Nerad lubomir.ne...@oracle.com
Date:  2013-08-23 10:02 +0200
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/5c5326c0aa6a

Fix for RT-32394: Rendering Artifacts with Groups and Transformations

! modules/graphics/src/main/java/javafx/scene/Node.java
! modules/graphics/src/test/java/javafx/scene/Parent_recomputeBounds_Test.java



hg: openjfx/2u/dev/rt: Fix for RT-32394: Rendering Artifacts with Groups and Transformations

2013-08-23 Thread hang . vo
Changeset: a8fcc0065eea
Author:Lubomir Nerad lubomir.ne...@oracle.com
Date:  2013-08-23 10:00 +0200
URL:   http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/a8fcc0065eea

Fix for RT-32394: Rendering Artifacts with Groups and Transformations

! javafx-ui-common/src/javafx/scene/Node.java
! javafx-ui-common/test/unit/javafx/scene/Parent_recomputeBounds_Test.java



hg: openjfx/8/graphics/rt: RT-32286: Region, Circle, Ellipse, and ImageView should support occlusion culling for opaque paints

2013-08-23 Thread hang . vo
Changeset: e9f71053dd5e
Author:rbair
Date:  2013-08-23 09:42 -0700
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/e9f71053dd5e

RT-32286: Region, Circle, Ellipse, and ImageView should support occlusion 
culling for opaque paints
Reviewed By: Jim Graham, Felipe

! .idea/vcs.xml
+ apps/toys/Hello/src/main/java/hello/HelloRectangle.java
! 
modules/graphics/src/main/java/com/sun/javafx/geom/transform/BaseTransform.java
! 
modules/graphics/src/main/java/com/sun/javafx/geom/transform/GeneralTransform3D.java
! modules/graphics/src/main/java/com/sun/javafx/sg/prism/CacheFilter.java
! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGCircle.java
! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGEllipse.java
! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGGroup.java
! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGImageView.java
! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGNode.java
! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGRectangle.java
! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGRegion.java
! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGShape.java
! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java
! modules/graphics/src/main/java/com/sun/prism/Image.java
! modules/graphics/src/main/java/com/sun/prism/paint/ImagePattern.java
! modules/graphics/src/main/java/javafx/scene/layout/Background.java
! modules/graphics/src/main/java/javafx/scene/layout/BackgroundImage.java
! modules/graphics/src/main/java/javafx/scene/layout/Region.java
! modules/graphics/src/main/java/javafx/scene/paint/ImagePattern.java
! modules/graphics/src/test/java/com/sun/javafx/sg/prism/ContentBoundsTest.java
! modules/graphics/src/test/java/com/sun/javafx/sg/prism/CullingTest.java
! 
modules/graphics/src/test/java/com/sun/javafx/sg/prism/DirtyRegionClipTest.java
! 
modules/graphics/src/test/java/com/sun/javafx/sg/prism/DirtyRegionTestBase.java
! 
modules/graphics/src/test/java/com/sun/javafx/sg/prism/GridDirtyRegionTest.java
+ modules/graphics/src/test/java/com/sun/javafx/sg/prism/NGCircleTest.java
+ modules/graphics/src/test/java/com/sun/javafx/sg/prism/NGEllipseTest.java
+ modules/graphics/src/test/java/com/sun/javafx/sg/prism/NGImageViewTest.java
+ modules/graphics/src/test/java/com/sun/javafx/sg/prism/NGNodeTest.java
+ modules/graphics/src/test/java/com/sun/javafx/sg/prism/NGRectangleTest.java
+ modules/graphics/src/test/java/com/sun/javafx/sg/prism/NGShapeTest.java
+ modules/graphics/src/test/java/com/sun/javafx/sg/prism/NGTestBase.java
- modules/graphics/src/test/java/com/sun/javafx/sg/prism/NodeTestUtils.java
! 
modules/graphics/src/test/java/com/sun/javafx/sg/prism/OcclusionCullingTest.java
+ modules/graphics/src/test/java/com/sun/javafx/sg/prism/RenderRootTest.java
- modules/graphics/src/test/java/com/sun/javafx/sg/prism/TestNGNode.java
+ modules/graphics/src/test/resources/com/sun/javafx/sg/prism/test-opaque.jpg
+ modules/graphics/src/test/resources/com/sun/javafx/sg/prism/test-opaque.png
+ 
modules/graphics/src/test/resources/com/sun/javafx/sg/prism/test-transparent.png



hg: openjfx/8/controls/rt: RT-32474: DatePicker: Japanese Chrono, can't set date before Meiji 6.

2013-08-23 Thread hang . vo
Changeset: 3903b419d30e
Author:leifs
Date:  2013-08-23 08:43 -0700
URL:   http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/3903b419d30e

RT-32474: DatePicker: Japanese Chrono, can't set date before Meiji 6.

! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/DatePickerContent.java
! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/DatePickerHijrahContent.java
! modules/controls/src/main/java/javafx/scene/control/DatePicker.java



RE: JDK 1.8 Build is passed and JavaFX build is failed (WAS: RE: No rule to make freetype.dll [WAS: Re: OpenJFX 1.8 build issues])

2013-08-23 Thread K, Dhevendran (MSDU)
+ openjfx-dev@openjdk.java.net
_
From: K, Dhevendran (MSDU)
Sent: Friday, August 23, 2013 9:52 PM
To: 'Erik Joelsson'; David Holmes; Anthony Petrov; build-dev
Cc: Thomas, Binoy Samuel (MSDU); Jolapara, Vikram Dhirajlal (MSDU)
Subject: JDK 1.8 Build is passed and JavaFX build is failed (WAS: RE: No rule 
to make freetype.dll [WAS: Re: OpenJFX 1.8 build issues])


Hi  Anthony  Erik

After compiling fresh FREETYPE2 library , that problem is vanished !!  Thanks a 
lot for your help

Now, I am compiling JFX code.  In order to work around the JDK 1.8 minimum 
build number required for JFX build, I commented the fail() in build.gradle

task verifyJava() {
doLast {
if (javaVersion != jfxBuildJdkVersion) {
fail(java version mismatch: ${javaVersion} must be 
${jfxBuildJdkVersion})
}
def buildNum = Integer.parseInt(javaBuildNumber)
def minBuildNum = Integer.parseInt(jfxBuildJdkBuildnumMin)
if (buildNum  minBuildNum) {
  //  fail(java build number ($buildNum)  minimum build number 
($minBuildNum))   -- This is commented
}
}
}


Now, I am facing the new issue as attached


  File: gradle.txt 

apps:experiments:3DViewer:assemble
:apps:experiments:Modena:compileJava
[ant:javac] 
C:\dheva\JavaFX_1_8\JavaFX_SRC\myfx8\rt\apps\experiments\Modena\src\main\java\modena\SamplePage.java:91:
 error: package javafx.scene.web does not exist
[ant:javac] import javafx.scene.web.HTMLEditor;
[ant:javac]^
[ant:javac] 
C:\dheva\JavaFX_1_8\JavaFX_SRC\myfx8\rt\apps\experiments\Modena\src\main\java\modena\SamplePage.java:468:
 error: cannot find symbol
[ant:javac] new HTMLEditor() {{
[ant:javac] ^
[ant:javac]   symbol:   class HTMLEditor
[ant:javac]   location: class SamplePage
[ant:javac] 
C:\dheva\JavaFX_1_8\JavaFX_SRC\myfx8\rt\apps\experiments\Modena\src\main\java\modena\SamplePage.java:474:
 error: cannot find symbol
[ant:javac] withState(new HTMLEditor() {{
[ant:javac]   ^
[ant:javac]   symbol:   class HTMLEditor
[ant:javac]   location: class SamplePage
[ant:javac] Note: Some input files use or override a deprecated API.
[ant:javac] Note: Recompile with -Xlint:deprecation for details.
[ant:javac] Note: Some input files use unchecked or unsafe operations.
[ant:javac] Note: Recompile with -Xlint:unchecked for details.
[ant:javac] 3 errors
:apps:experiments:Modena:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':apps:experiments:Modena:compileJava'.
 Compile failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug 
option to get more log output.

BUILD FAILED

Total time: 35 mins 13.756 secs




Thanks  Regards
Dhevendran K



-Original Message-
From: Erik Joelsson [mailto:erik.joels...@oracle.com]
Sent: Friday, August 23, 2013 1:47 PM
To: David Holmes
Cc: Anthony Petrov; K, Dhevendran (MSDU); build-dev; Thomas, Binoy Samuel 
(MSDU); Jolapara, Vikram Dhirajlal (MSDU)
Subject: Re: No rule to make freetype.dll [WAS: Re: OpenJFX 1.8 build issues]

Hello Dhevendran,

It would help if you could check what David is asking for. In the file:

/cygdrive/c/r/build/windows-x86_64-normal-server-release/spec.gmk

Check what the value of FREETYPE2_LIB_PATH is.

/Erik

On 2013-08-23 04:34, David Holmes wrote:
 What does spec.gmk have for:

 FREETYPE2_LIB_PATH

 ?

 David
 -

 PS. I wasn't on cc but did get attachments.

 On 23/08/2013 5:05 AM, Anthony Petrov wrote:
 [ BCC'ing openjfx-dev@ and CC'ing build-dev@ ]

 [ Dhevendran, please subscribe to build-dev@ before posting replies ]

 [ Erik, please see below ]

 Dhevendran:
 I'm moving this discussion to a more appropriate mailing list to
 resolve all JDK building problems. Now, I've never seen such an error
 before, and I can't find any open bugs about it. You may want to run
 `make clean  make LOG=debug` to get a more comprehensive log.
 Please make sure you keep Erik in CC because the mailing list
 software strips all attachments, so only those listed in CC receive the 
 files.

 Erik:
 I've CC'ed you and attached Dhevendran's logs so that you could
 receive them. Do you have any idea what might be causing this error?

 --
 best regards,
 Anthony

 On 08/22/2013 06:56 PM, K, Dhevendran (MSDU) wrote:
 Hi Anthony
 Your suggestion solved that particular issue ( Size of the path is
 the issue ).  Thanks a lot  for you valuable help Now, I am facing
 new problem  as shown in the following excerpt . I have attached the
 logs
 
 =


 /usr/bin/mkdir -p
 /cygdrive/c/r/build/windows-x86_64-normal-server-release/jdk/lib/cmm
 /usr/bin/cp -fP '/cygdrive/c/r/jdk/src/share/lib/cmm/lcms/sRGB.pf'
 

hg: openjfx/8/graphics/rt: RT-30923: Implement packing region cache

2013-08-23 Thread hang . vo
Changeset: cf2d7f03fbfb
Author:Felipe Heidrich felipe.heidr...@oracle.com
Date:  2013-08-23 08:28 -0700
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/cf2d7f03fbfb

RT-30923: Implement packing region cache

! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGRegion.java
! modules/graphics/src/main/java/com/sun/javafx/sg/prism/RegionImageCache.java
! modules/graphics/src/main/java/com/sun/prism/impl/packrect/Level.java
! 
modules/graphics/src/main/java/com/sun/prism/impl/packrect/RectanglePacker.java



hg: openjfx/8/graphics/rt: RT-32511: Improve occlusion culling to include effects

2013-08-23 Thread hang . vo
Changeset: b100ceba6f44
Author:rbair
Date:  2013-08-23 11:20 -0700
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/b100ceba6f44

RT-32511: Improve occlusion culling to include effects
Reviewed By: snorthov

! modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGNode.java
! modules/graphics/src/main/java/com/sun/scenario/effect/BoxBlur.java
! modules/graphics/src/main/java/com/sun/scenario/effect/BoxShadow.java
! modules/graphics/src/main/java/com/sun/scenario/effect/GeneralShadow.java
! modules/graphics/src/test/java/com/sun/javafx/sg/prism/NGNodeTest.java



hg: openjfx/8/graphics/rt: RT-32514: iOS apps no longer running after fix for RT-32409

2013-08-23 Thread hang . vo
Changeset: e85be932a66e
Author:rbair
Date:  2013-08-23 11:58 -0700
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/e85be932a66e

RT-32514: iOS apps no longer running after fix for RT-32409

! modules/graphics/src/main/java/com/sun/prism/es2/GLContext.java



API review for RT-21354: add parameterless default constructor

2013-08-23 Thread Paru Somashekar


JIRA : https://javafx-jira.kenai.com/browse/RT-21354

Somehow this one got missed out. There is only a private parameterless 
default constructor which needs to be made public in RadioMenuItem.


thanks,
Paru.


hg: openjfx/8/controls/rt: RT-32419: Main issue was pre-calculation of hash code in style cache keys. Fixed leak introduced in RT-28966, changed CssStyleHelper to pass StyleMap everywhere instead of l

2013-08-23 Thread hang . vo
Changeset: 0956a0526889
Author:David Grievedavid.gri...@oracle.com
Date:  2013-08-23 17:24 -0400
URL:   http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/0956a0526889

RT-32419: Main issue was pre-calculation of hash code in style cache keys. 
Fixed leak introduced in RT-28966, changed CssStyleHelper to pass StyleMap 
everywhere instead of looking it up as needed, and made some other minor 
optimizations (like getting rid of Math.min/max/abs, instance of)

! modules/graphics/src/main/java/com/sun/javafx/css/BitSet.java
! modules/graphics/src/main/java/com/sun/javafx/css/ParsedValueImpl.java
! modules/graphics/src/main/java/com/sun/javafx/css/Size.java
! modules/graphics/src/main/java/com/sun/javafx/css/StyleCache.java
! modules/graphics/src/main/java/com/sun/javafx/css/StyleCacheEntry.java
! modules/graphics/src/main/java/com/sun/javafx/css/StyleConverterImpl.java
! modules/graphics/src/main/java/com/sun/javafx/css/StyleManager.java
! modules/graphics/src/main/java/com/sun/javafx/css/StyleMap.java
! modules/graphics/src/main/java/javafx/scene/CssStyleHelper.java



Re: API review for RT-21354: add parameterless default constructor

2013-08-23 Thread Richard Bair
+1

On Aug 23, 2013, at 1:43 PM, Paru Somashekar parvathi.somashe...@oracle.com 
wrote:

 
 JIRA : https://javafx-jira.kenai.com/browse/RT-21354
 
 Somehow this one got missed out. There is only a private parameterless 
 default constructor which needs to be made public in RadioMenuItem.
 
 thanks,
 Paru.



hg: openjfx/8/graphics/rt: Fix RT-32104: Severe drawing issues when changing displays with HiDPI

2013-08-23 Thread hang . vo
Changeset: f151ab8eb69b
Author:flar james.gra...@oracle.com
Date:  2013-08-23 16:17 -0700
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/f151ab8eb69b

Fix RT-32104: Severe drawing issues when changing displays with HiDPI

! 
modules/graphics/src/main/java/com/sun/javafx/tk/quantum/PresentingPainter.java
! modules/graphics/src/main/java/com/sun/prism/Graphics.java
! modules/graphics/src/main/java/com/sun/prism/Presentable.java
! modules/graphics/src/main/java/com/sun/prism/d3d/D3DGraphics.java
! modules/graphics/src/main/java/com/sun/prism/d3d/D3DSwapChain.java
! modules/graphics/src/main/java/com/sun/prism/es2/ES2Graphics.java
! modules/graphics/src/main/java/com/sun/prism/es2/ES2SwapChain.java
! modules/graphics/src/main/java/com/sun/prism/j2d/J2DPresentable.java
! modules/graphics/src/main/java/com/sun/prism/j2d/PrismPrintGraphics.java
! modules/graphics/src/main/java/com/sun/prism/null3d/DummyGraphics.java
! modules/graphics/src/main/java/com/sun/prism/null3d/DummySwapChain.java
! modules/graphics/src/main/java/com/sun/prism/sw/SWGraphics.java
! modules/graphics/src/main/java/com/sun/prism/sw/SWPresentable.java
! modules/graphics/src/test/java/com/sun/javafx/sg/prism/TestGraphics.java