From m-matsushima at bk.jp.nec.com Wed Nov 1 08:45:35 2017 From: m-matsushima at bk.jp.nec.com (Mitsuru Matsushima) Date: Wed, 1 Nov 2017 08:45:35 +0000 Subject: [10] RFR JDK-8090267: JFXPanel Input Problem In-Reply-To: <691f54a4-596d-c1d8-1206-717b90c548c7@oracle.com> References: <691f54a4-596d-c1d8-1206-717b90c548c7@oracle.com> Message-ID: Hi Prasanta, It seems to fix only the issue about JFXPanel and the issue about SwingNode (JDK-8183204) is not fixed, is it? If JDK-8183204 is not fixed, I think JDK-8183204 should be reopened. (JDK-8183204 was closed as duplicated issue.) Mitsuru > -----Original Message----- > From: openjfx-dev [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Prasanta Sadhukhan > Sent: Thursday, October 26, 2017 7:52 PM > To: Kevin Rushforth ; ALEXANDER.ZVEGINTSEV ; > openjfx-dev at openjdk.java.net Mailing > Subject: [10] RFR JDK-8090267: JFXPanel Input Problem > > Hi All, > > Please review a input method fx fix > http://cr.openjdk.java.net/~psadhukhan/fx/8090267/webrev.00/ > for issue > https://bugs.openjdk.java.net/browse/JDK-8090267 > > More info in JBS. > > Regards > Prasanta From kevin.rushforth at oracle.com Wed Nov 1 15:11:20 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 01 Nov 2017 08:11:20 -0700 Subject: [10] RFR JDK-8090267: JFXPanel Input Problem In-Reply-To: References: <691f54a4-596d-c1d8-1206-717b90c548c7@oracle.com> Message-ID: <59F9E418.3070100@oracle.com> Yes, it does seem that JDK-8183204 was prematurely closed as a duplicate. I have reopened it. -- Kevin Mitsuru Matsushima wrote: > Hi Prasanta, > > It seems to fix only the issue about JFXPanel and the issue about SwingNode (JDK-8183204) is not fixed, is it? > > If JDK-8183204 is not fixed, I think JDK-8183204 should be reopened. > (JDK-8183204 was closed as duplicated issue.) > > Mitsuru > > >> -----Original Message----- >> From: openjfx-dev [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Prasanta Sadhukhan >> Sent: Thursday, October 26, 2017 7:52 PM >> To: Kevin Rushforth ; ALEXANDER.ZVEGINTSEV ; >> openjfx-dev at openjdk.java.net Mailing >> Subject: [10] RFR JDK-8090267: JFXPanel Input Problem >> >> Hi All, >> >> Please review a input method fx fix >> http://cr.openjdk.java.net/~psadhukhan/fx/8090267/webrev.00/ >> for issue >> https://bugs.openjdk.java.net/browse/JDK-8090267 >> >> More info in JBS. >> >> Regards >> Prasanta >> > > From semyon.sadetsky at oracle.com Thu Nov 2 00:07:21 2017 From: semyon.sadetsky at oracle.com (semyon.sadetsky at oracle.com) Date: Wed, 1 Nov 2017 17:07:21 -0700 Subject: CFV: New OpenJFX Committer: Ambarish Rapte In-Reply-To: <59F8DA88.8000104@oracle.com> References: <59F8DA88.8000104@oracle.com> Message-ID: <82942a63-33e5-a4af-65f7-e445de7ea874@oracle.com> Vote: YES --Semyon On 10/31/17 1:18 PM, Kevin Rushforth wrote: > I hereby nominate Ambarish Rapte [1] to OpenJFX Committer. > > Ambarish is a member of JavaFX team at Oracle, who has contributed 10 > changesets [2][3] to OpenJFX. > > Votes are due by November 14, 2017. > > Only current OpenJFX Committers [4] are eligible to vote on this > nomination. Votes must be cast in the open by replying to this mailing > list. > > For Lazy Consensus voting instructions, see [5]. Nomination to a > project Committer is described in [6]. > > Thanks. > > -- Kevin > > [1] http://openjdk.java.net/census#arapte > > [2] > http://hg.openjdk.java.net/openjfx/10-dev/rt/log?revcount=20&rev=author%28arapte%29 > [3] http://hg.openjdk.java.net/openjfx/10-dev/rt/rev/f7d38650fa15 > > [4] http://openjdk.java.net/census#openjfx > > [5] http://openjdk.java.net/bylaws#lazy-consensus > > [6] http://openjdk.java.net/projects#project-committer > From ajit.ghaisas at oracle.com Thu Nov 2 03:22:33 2017 From: ajit.ghaisas at oracle.com (Ajit Ghaisas) Date: Wed, 1 Nov 2017 20:22:33 -0700 (PDT) Subject: CFV: New OpenJFX Committer: Ambarish Rapte In-Reply-To: <59F8DA88.8000104@oracle.com> References: <59F8DA88.8000104@oracle.com> Message-ID: Vote : Yes Regards, Ajit -----Original Message----- From: Kevin Rushforth Sent: Wednesday, November 01, 2017 1:48 AM To: openjfx-dev at openjdk.java.net; Ambarish Rapte Subject: CFV: New OpenJFX Committer: Ambarish Rapte I hereby nominate Ambarish Rapte [1] to OpenJFX Committer. Ambarish is a member of JavaFX team at Oracle, who has contributed 10 changesets [2][3] to OpenJFX. Votes are due by November 14, 2017. Only current OpenJFX Committers [4] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [5]. Nomination to a project Committer is described in [6]. Thanks. -- Kevin [1] http://openjdk.java.net/census#arapte [2] http://hg.openjdk.java.net/openjfx/10-dev/rt/log?revcount=20&rev=author%28arapte%29 [3] http://hg.openjdk.java.net/openjfx/10-dev/rt/rev/f7d38650fa15 [4] http://openjdk.java.net/census#openjfx [5] http://openjdk.java.net/bylaws#lazy-consensus [6] http://openjdk.java.net/projects#project-committer From guru.hb at oracle.com Thu Nov 2 03:50:02 2017 From: guru.hb at oracle.com (Guru Hb) Date: Thu, 2 Nov 2017 09:20:02 +0530 Subject: CFV: New OpenJFX Committer: Ambarish Rapte In-Reply-To: <59F8DA88.8000104@oracle.com> References: <59F8DA88.8000104@oracle.com> Message-ID: <1AB7A97E-0CE8-4787-B8D6-E955824DFDCE@oracle.com> Vote: yes > On 01-Nov-2017, at 1:48 AM, Kevin Rushforth wrote: > > I hereby nominate Ambarish Rapte [1] to OpenJFX Committer. > > Ambarish is a member of JavaFX team at Oracle, who has contributed 10 changesets [2][3] to OpenJFX. > > Votes are due by November 14, 2017. > > Only current OpenJFX Committers [4] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [5]. Nomination to a project Committer is described in [6]. > > Thanks. > > -- Kevin > > [1] http://openjdk.java.net/census#arapte > > [2] http://hg.openjdk.java.net/openjfx/10-dev/rt/log?revcount=20&rev=author%28arapte%29 > [3] http://hg.openjdk.java.net/openjfx/10-dev/rt/rev/f7d38650fa15 > > [4] http://openjdk.java.net/census#openjfx > > [5] http://openjdk.java.net/bylaws#lazy-consensus > > [6] http://openjdk.java.net/projects#project-committer > From arunprasad.rajkumar at oracle.com Thu Nov 2 05:47:00 2017 From: arunprasad.rajkumar at oracle.com (Arunprasad Rajkumar) Date: Thu, 2 Nov 2017 11:17:00 +0530 Subject: CFV: New OpenJFX Committer: Ambarish Rapte In-Reply-To: <59F8DA88.8000104@oracle.com> References: <59F8DA88.8000104@oracle.com> Message-ID: Vote: Yes > On 01-Nov-2017, at 1:48 AM, Kevin Rushforth wrote: > > I hereby nominate Ambarish Rapte [1] to OpenJFX Committer. > > Ambarish is a member of JavaFX team at Oracle, who has contributed 10 changesets [2][3] to OpenJFX. > > Votes are due by November 14, 2017. > > Only current OpenJFX Committers [4] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [5]. Nomination to a project Committer is described in [6]. > > Thanks. > > -- Kevin > > [1] http://openjdk.java.net/census#arapte > > [2] http://hg.openjdk.java.net/openjfx/10-dev/rt/log?revcount=20&rev=author%28arapte%29 > [3] http://hg.openjdk.java.net/openjfx/10-dev/rt/rev/f7d38650fa15 > > [4] http://openjdk.java.net/census#openjfx > > [5] http://openjdk.java.net/bylaws#lazy-consensus > > [6] http://openjdk.java.net/projects#project-committer > From alexander.zvegintsev at oracle.com Thu Nov 2 06:08:35 2017 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Thu, 2 Nov 2017 11:38:35 +0530 Subject: CFV: New OpenJFX Committer: Ambarish Rapte In-Reply-To: <59F8DA88.8000104@oracle.com> References: <59F8DA88.8000104@oracle.com> Message-ID: Vote: yes Thanks, Alexander. On 01/11/2017 01:48, Kevin Rushforth wrote: > I hereby nominate Ambarish Rapte [1] to OpenJFX Committer. > > Ambarish is a member of JavaFX team at Oracle, who has contributed 10 > changesets [2][3] to OpenJFX. > > Votes are due by November 14, 2017. > > Only current OpenJFX Committers [4] are eligible to vote on this > nomination. Votes must be cast in the open by replying to this mailing > list. > > For Lazy Consensus voting instructions, see [5]. Nomination to a > project Committer is described in [6]. > > Thanks. > > -- Kevin > > [1] http://openjdk.java.net/census#arapte > > [2] > http://hg.openjdk.java.net/openjfx/10-dev/rt/log?revcount=20&rev=author%28arapte%29 > [3] http://hg.openjdk.java.net/openjfx/10-dev/rt/rev/f7d38650fa15 > > [4] http://openjdk.java.net/census#openjfx > > [5] http://openjdk.java.net/bylaws#lazy-consensus > > [6] http://openjdk.java.net/projects#project-committer > From prasanta.sadhukhan at oracle.com Thu Nov 2 07:13:30 2017 From: prasanta.sadhukhan at oracle.com (Prasanta Sadhukhan) Date: Thu, 2 Nov 2017 12:43:30 +0530 Subject: CFV: New OpenJFX Committer: Ambarish Rapte In-Reply-To: <59F8DA88.8000104@oracle.com> References: <59F8DA88.8000104@oracle.com> Message-ID: <285762e8-1a5f-6623-7e09-68f081a9ec92@oracle.com> Vote: yes Regards Prasanta On 11/1/2017 1:48 AM, Kevin Rushforth wrote: > I hereby nominate Ambarish Rapte [1] to OpenJFX Committer. > > Ambarish is a member of JavaFX team at Oracle, who has contributed 10 > changesets [2][3] to OpenJFX. > > Votes are due by November 14, 2017. > > Only current OpenJFX Committers [4] are eligible to vote on this > nomination. Votes must be cast in the open by replying to this mailing > list. > > For Lazy Consensus voting instructions, see [5]. Nomination to a > project Committer is described in [6]. > > Thanks. > > -- Kevin > > [1] http://openjdk.java.net/census#arapte > > [2] > http://hg.openjdk.java.net/openjfx/10-dev/rt/log?revcount=20&rev=author%28arapte%29 > [3] http://hg.openjdk.java.net/openjfx/10-dev/rt/rev/f7d38650fa15 > > [4] http://openjdk.java.net/census#openjfx > > [5] http://openjdk.java.net/bylaws#lazy-consensus > > [6] http://openjdk.java.net/projects#project-committer > From alexander.zvegintsev at oracle.com Thu Nov 2 15:18:37 2017 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Thu, 2 Nov 2017 20:48:37 +0530 Subject: [10] Review request for 8181406: [linux] Stage resizing bug Message-ID: Hi all, please review the fix http://cr.openjdk.java.net/~azvegint/jdk/10/8181406/00/ for the issue https://bugs.openjdk.java.net/browse/JDK-8181406 -- Thanks, Alexander. From alexey.semenyuk at oracle.com Thu Nov 2 20:53:32 2017 From: alexey.semenyuk at oracle.com (Alexey Semenyuk) Date: Thu, 2 Nov 2017 16:53:32 -0400 Subject: Review request: JDK-8185877: ,Fix X11 dependency in javapackager Message-ID: <67a085e7-604d-fada-5d8f-ef3fdedec4dc@oracle.com> Victor, Kevin, Please review changes to get rid of static dependency of JDK packager on X11. JIRA: https://bugs.openjdk.java.net/browse/JDK-8185877 Webrev: http://cr.openjdk.java.net/~asemenyuk/8185877/webrev.00/ Testing done: built and verified on Oracle Linux 7 and Ubuntu 16.04. - Alexey From alexey.semenyuk at oracle.com Thu Nov 2 21:17:28 2017 From: alexey.semenyuk at oracle.com (Alexey Semenyuk) Date: Thu, 2 Nov 2017 17:17:28 -0400 Subject: [10] Review request: JDK-8185877: Fix X11 dependency in javapackager In-Reply-To: <67a085e7-604d-fada-5d8f-ef3fdedec4dc@oracle.com> References: <67a085e7-604d-fada-5d8f-ef3fdedec4dc@oracle.com> Message-ID: The fix is targeted for openjfx v10 (will push to hg.openjdk.java.net/openjfx/10-dev/rt repo). - Alexey On 11/2/2017 4:53 PM, Alexey Semenyuk wrote: > Victor, Kevin, > > Please review changes to get rid of static dependency of JDK packager > on X11. > > JIRA: https://bugs.openjdk.java.net/browse/JDK-8185877 > Webrev: http://cr.openjdk.java.net/~asemenyuk/8185877/webrev.00/ > > Testing done: built and verified on Oracle Linux 7 and Ubuntu 16.04. > > - Alexey > From alexander.matveev at oracle.com Fri Nov 3 21:46:36 2017 From: alexander.matveev at oracle.com (Alexander Matveev) Date: Fri, 3 Nov 2017 14:46:36 -0700 Subject: [10] Review request for 8187637: Remove deprecated VP6/FXM/FLV code from JavaFX Message-ID: Hi Kevin and David, Please review the following: https://bugs.openjdk.java.net/browse/JDK-8187637 Removed support for VP6 and FLV. Thanks, Alexander From mike.ennen at gmail.com Sat Nov 4 05:38:51 2017 From: mike.ennen at gmail.com (Michael Ennen) Date: Fri, 3 Nov 2017 22:38:51 -0700 Subject: netscape.javascript.JSObject Consideration for Public API Message-ID: Hello, I am in the process of exploring migration to Java FX 9 for my project. I know that it is okay to use private APIs in the short term using command-line flags but I think going forward that netscape.javascript.JSObject would make for a good inclusion in the public API. This is a very useful class when attempting to interface with a rendered webpage in a WebView control. I am going by jdeps output where it says that this class is part of the private API. I would like to propose the inclusion of netscape.javascript.JSObject in the public API for Java 10 if possible. " -> netscape.javascript.JSObject JDK internal API (jfxrt.jar)" Thanks, and sorry if this issue is known or has been raised previously. -- Michael Ennen From bourges.laurent at gmail.com Sat Nov 4 09:40:50 2017 From: bourges.laurent at gmail.com (=?UTF-8?Q?Laurent_Bourg=C3=A8s?=) Date: Sat, 4 Nov 2017 10:40:50 +0100 Subject: [10] RFR 8188062: Use Marlin renderer in JavaFX BasicStroke In-Reply-To: References: <9f2f20cb-28cf-0dae-c6c9-4cec6faea221@oracle.com> Message-ID: Just a gentle reminder... Kevin, could you have a look ? I have other patches coming soon... Cheers, Laurent Le 27 oct. 2017 8:02 PM, "Laurent Bourg?s" a ?crit : > Hi Phil, > Thanks for your comments. > > Le 27 oct. 2017 18:28, "Phil Race" a ?crit : > > 38 private final Path2DWrapper wp_Path2DWrapper = new Path2DWrapper(); > > Are there tabs here ? The formatting looks odd. > > > It is manually aligned with followings lines (only space). > > > 44 public DPathConsumer2D wrapPath2d(Path2D p2d) > The method naming pattern I see elsewhere is "2D" not "2d" .. so can we fix this one ? > ie make it wrapPath2D > This occurs in at least two different files in this webrev: [D]TransformingPathConsumer2D.java > > I agree and I can fix it here and also in Marlin2D (same code). > > > I really don't like the changes in BasicStroke that not use direct literals instead of copying > the values from Stroker. It can't possibly help performance and you lose the implied relationship. > > I agree your point of view. However the reference or origin was the public > BasicStroke in 2d and Marlin checks that constants match in static > initializers (MarlinRenderingEngine). > > I prefer applying the same pattern in FX so I did that change which > removes the reference to OpenPisces.Stroker. > > - public static final int CAP_BUTT = Stroker.CAP_BUTT;- public static final int CAP_ROUND = Stroker.CAP_ROUND;- public static final int CAP_SQUARE = Stroker.CAP_SQUARE;-- public static final int JOIN_BEVEL = Stroker.JOIN_BEVEL;- public static final int JOIN_MITER = Stroker.JOIN_MITER;- public static final int JOIN_ROUND = Stroker.JOIN_ROUND;++ /** Constant value for end cap style. */+ public static final int CAP_BUTT = 0;+ /** Constant value for end cap style. */+ public static final int CAP_ROUND = 1;+ /** Constant value for end cap style. */+ public static final int CAP_SQUARE = 2;++ /** Constant value for join style. */+ public static final int JOIN_MITER = 0;+ /** Constant value for join style. */+ public static final int JOIN_ROUND = 1;+ /** Constant value for join style. */+ public static final int JOIN_BEVEL = 2; > > > The next one is not something I think must be fixed but an observation that it > seems odd to have to decide which Rasterizer to use every time some one calls this > API rather than making it a one time initialisation. > > I wondered the same question. As PrismSettings are constants, hotspot will > optimize that code as a direct call to the proper method (dead code > elimination). > > + public static Shape createCenteredStrokedShape(Shape s, BasicStroke stroke)+ {+ if (PrismSettings.rasterizerSpec == RasterizerType.DoubleMarlin) {+ return DMarlinRasterizer.createCenteredStrokedShape(s, stroke);+ }+ if (PrismSettings.rasterizerSpec == RasterizerType.FloatMarlin) {+ return MarlinRasterizer.createCenteredStrokedShape(s, stroke);+ }+ // JavaPisces fallback:+ return createCenteredStrokedShapeOpenPisces(s, stroke);+ }+ > > Laurent > > -phil. > > > > On 10/25/2017 02:11 PM, Laurent Bourg?s wrote: > > Please review this simple patch that moves the > BasicStroke.createCenteredStrokedShape() implementation into ShapeUtil in > order to use Marlin instead of OpenPisces: > > JBS: https://bugs.openjdk.java.net/browse/JDK-8188062 > Webrev: http://cr.openjdk.java.net/~lbourges/marlinFX/marlinFX-8188062.0/ > > Changes: > - BasicStroke: fixed definition of CAP / JOIN constants + > createCenteredStrokedShape() calls ShapeUtil createCenteredStrokedShape() > (delegation) > - ShapeUtil.createCenteredStrokedShape() delegates to (D)MarlinRasterizer > (if enabled) or to OpenPisces (fallback) > - (D)MarlinRasterizer: applied the same approach as in Marlin2D > createStrokedShape() except I adopted the lineWidth trick as in OpenPisces > - (D)MarlinPrismUtils: some refactoring to let the new strokeTo() method > reuse the initPipeline() + simplified Path2D special handling > - (D)RendererContext / (D)TransformingPathConsumer2D: added cached Path2D > instance and Path2DWrapper (like in Marlin2D) > > > PS: Removing OpenPisces in the future will be easier as remaining > references are in ShapeUtil, OpenPiscesPrismUtils and few sw pipeline > classes. Use the following command to get usages: > find . -name "*.java" -exec grep -H "openpisces" {} \;) > > Cheers, > Laurent > > > > From kevin.rushforth at oracle.com Sat Nov 4 13:33:08 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Sat, 04 Nov 2017 06:33:08 -0700 Subject: netscape.javascript.JSObject Consideration for Public API In-Reply-To: References: Message-ID: <59FDC194.2080703@oracle.com> netscape.javascript.JSObect is public API in JDK 9. It's in the jdk.jsobject module. See: https://docs.oracle.com/javase/9/docs/api/netscape/javascript/JSObject.html -- Kevin Michael Ennen wrote: > Hello, > > I am in the process of exploring migration to Java FX 9 for my project. I > know that it is okay to use private APIs in the short term using > command-line flags but I think going forward that > netscape.javascript.JSObject would make for a good inclusion in the public > API. This is a very useful class when attempting to interface with a > rendered webpage in a WebView control. > > I am going by jdeps output where it says that this class is part of the > private API. I would like to propose the inclusion of > netscape.javascript.JSObject in the public API for Java 10 if possible. > > " -> netscape.javascript.JSObject JDK internal API > (jfxrt.jar)" > > Thanks, and sorry if this issue is known or has been raised previously. > > From mike.ennen at gmail.com Sat Nov 4 21:24:20 2017 From: mike.ennen at gmail.com (Michael Ennen) Date: Sat, 4 Nov 2017 14:24:20 -0700 Subject: netscape.javascript.JSObject Consideration for Public API In-Reply-To: <59FDC194.2080703@oracle.com> References: <59FDC194.2080703@oracle.com> Message-ID: Thanks Kevin, jdeps was picking up an out of date java version. Sorry for the noise. From m-matsushima at bk.jp.nec.com Mon Nov 6 05:33:07 2017 From: m-matsushima at bk.jp.nec.com (Mitsuru Matsushima) Date: Mon, 6 Nov 2017 05:33:07 +0000 Subject: [10] RFR JDK-8090267: JFXPanel Input Problem In-Reply-To: <59F9E418.3070100@oracle.com> References: <691f54a4-596d-c1d8-1206-717b90c548c7@oracle.com> <59F9E418.3070100@oracle.com> Message-ID: Thank you for reopening the issue :) Mitsuru > -----Original Message----- > From: Kevin Rushforth [mailto:kevin.rushforth at oracle.com] > Sent: Thursday, November 02, 2017 12:11 AM > To: Matsushima Mitsuru(?? ?) > Cc: Prasanta Sadhukhan ; openjfx-dev at openjdk.java.net Mailing > > Subject: Re: [10] RFR JDK-8090267: JFXPanel Input Problem > > Yes, it does seem that JDK-8183204 was prematurely closed as a duplicate. I have reopened it. > > -- Kevin > > > Mitsuru Matsushima wrote: > > Hi Prasanta, > > It seems to fix only the issue about JFXPanel and the issue about SwingNode (JDK-8183204) is not fixed, is it? > > If JDK-8183204 is not fixed, I think JDK-8183204 should be reopened. > (JDK-8183204 was closed as duplicated issue.) > > Mitsuru > > > > -----Original Message----- > From: openjfx-dev [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Prasanta Sadhukhan > Sent: Thursday, October 26, 2017 7:52 PM > To: Kevin Rushforth ; > ALEXANDER.ZVEGINTSEV ; > openjfx-dev at openjdk.java.net Mailing > > Subject: [10] RFR JDK-8090267: JFXPanel Input Problem > > Hi All, > > Please review a input method fx fix > http://cr.openjdk.java.net/~psadhukhan/fx/8090267/webrev.00/ > for issue > https://bugs.openjdk.java.net/browse/JDK-8090267 > > More info in JBS. > > Regards > Prasanta > > > > From murali.billa at oracle.com Mon Nov 6 06:38:43 2017 From: murali.billa at oracle.com (Murali Billa) Date: Sun, 5 Nov 2017 22:38:43 -0800 (PST) Subject: [10] Review request for 8190349: Tooltip based on graphic contented only show less than 1 out of 10 times In-Reply-To: <020494c1-81b0-495c-acbf-a3d79b67b186@default> References: <5d429381-0799-e757-c070-827af4746317@oracle.com> <4816ea91-3506-4e52-84f6-86f04768d6f3@default> <9d808a20-87b9-4b9e-bcd8-a3a7a8ad2a20@default> <8ff1fe45-0844-4811-943a-3f76e4f9c71c@default> <667f16a9-820e-4d63-ac76-09b08b8629d1@default> <59b7e388-3537-41a2-bd47-fc1ce3eae3d7@default> <1191f172-218b-4942-b956-10566c21c5a2@default> <020494c1-81b0-495c-acbf-a3d79b67b186@default> Message-ID: <0dfe3ce0-2c73-424b-bfc9-f6578964d018@default> ? Hi Kevin, Arun, Please review the below fix. JIRA: https://bugs.openjdk.java.net/browse/JDK-8190349 ? Webrev: http://cr.openjdk.java.net/~mbilla/8190349/webrev.00/ ? Thanks, Murali From kevin.rushforth at oracle.com Mon Nov 6 16:43:29 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 06 Nov 2017 08:43:29 -0800 Subject: [10] Review request: 8188654: Upgrade FX build to use gradle 4.3 Message-ID: <5A009131.5040406@oracle.com> Phil, Please review the following to bump the expected version number of gradle to 4.3: https://bugs.openjdk.java.net/browse/JDK-8188654 http://cr.openjdk.java.net/~kcr/8188654/webrev.00/ We can then update our production builds to use this version. Note that this won't (yet) change the minimum version of gradle required to build OpenJFX, but that is coming at some point. All developers are encouraged to download and start using gradle 4.3. Thanks. -- Kevin From arunprasad.rajkumar at oracle.com Tue Nov 7 06:33:54 2017 From: arunprasad.rajkumar at oracle.com (Arunprasad Rajkumar) Date: Tue, 7 Nov 2017 12:03:54 +0530 Subject: [10] Review request: 8089264: DRT test fast/events/before-unload-returnValue.html times out Message-ID: <47198E75-2482-43EC-9472-64A776D20C38@oracle.com> Hi, Please review the following patch, Webrev: http://cr.openjdk.java.net/~arajkumar/8089264/webrev Bug: https://bugs.openjdk.java.net/browse/JDK-8089264 Detailed analysis is updated as JBS comment. Thanks, Arun From alexander.zvegintsev at oracle.com Tue Nov 7 18:11:59 2017 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Tue, 7 Nov 2017 23:41:59 +0530 Subject: [10] Review request for 8185634, 8185634: Java Fx-Swing dialogs appearing behind main stage In-Reply-To: <8013fec4-ca01-7701-bc15-2fce01f88ca0@oracle.com> References: <234563d7-7f68-296a-523c-c005cf4ca9a5@oracle.com> <26bddfb0-3dfa-92ac-b476-abe5a6bda1e1@oracle.com> <7c868789-6c1e-28c9-af7a-057d551e0dfe@oracle.com> <59DD336F.5050706@oracle.com> <8013fec4-ca01-7701-bc15-2fce01f88ca0@oracle.com> Message-ID: <6fdb5231-5d5d-7336-f2c5-c463399aac63@oracle.com> Hi Sergey, I am not able to crash it on several platforms, except one case: if we are terminating JavaFX application while EDT processing some long task. But it is unrelated to the fix and reproducible on current builds. I've filed a separate bug JDK-8190329 . > Will the current fix cover the native dialogs like > FileDialog/PrintDialog on linux and windows? It will not, Windows already fixed by JDK-8088395 Test added: http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/05/ Thanks, Alexander. On 13/10/2017 01:14, Sergey Bylokhov wrote: > Looks fine. > I am not sure but it looks like the fix has an assumption that the > CPlatformWindow.setVisible() code will be executed on EDT/Appkit but > it is not the case. This code can be executed on any > thread(intentionally for crash), and it will be good to check that it > works as expected by some stress test which will try to force the > possible crash: 4 threads: > ?- show/dispose Swing Node > ?- show/dispose Dialog1/2/3 using different timeouts > > Will the current fix cover the native dialogs like > FileDialog/PrintDialog on linux and windows? > > On 10/10/2017 13:54, Kevin Rushforth wrote: >> Note that there is now a 04 version. >> >> It looks good to me, although someone more familiar with AWT should >> also check the AWT changes. >> >> We will need a test program for this (as a follow-on issue if not now). >> >> -- Kevin >> >> >> Alexander Zvegintsev wrote: >>> Please review the updated version >>> >>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/02/ >>> Now we are postponing actual window closing, it happens only after >>> we ensure that native window pointer is valid on Swing side. >>> >>> Thanks, >>> Alexander. >>> >>> On 23/09/2017 08:01, Sergey Bylokhov wrote: >>>> Hi, Alexander. >>>> How can we be sure that the parent frame will not be disposed while >>>> we use a pointer? >>>> >>>> long ownerWindowPtr = peer.getOverridenWindowHandle(); >>>> <<<<< Dispose the peer >>>> if (ownerWindowPtr != 0) { >>>> ??? //Place window above JavaFX stage >>>> ??? CWrapper.NSWindow.addChildWindow( >>>> ??? ownerWindowPtr, ptr, CWrapper.NSWindow.NSWindowAbove); >>>> <<<<< Boom >>>> } >>>> >>>> >>>> On 9/21/17 22:56, Alexander Zvegintsev wrote: >>>>> Hi Phil, >>>>> >>>>> Please review the updated fix with reflection incorporated >>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/01/ >>>>> >>>>> New issue created JDK-8187803 >>>>> as JDK >>>>> counterpart of this issue. >>>>> >>>>> Thanks, >>>>> Alexander. >>>>> >>>>> On 21/09/2017 22:25, Phil Race wrote: >>>>>> Some procedural comments : >>>>>> Since 90% of this is in AWT code, I'd have thought awt-dev should >>>>>> be included here. >>>>>> I've added that list. >>>>>> >>>>>> And apart from needing separate bug ids, I don't see why the bug >>>>>> below is confidential. >>>>>> >>>>>> >>>>>> I agree with what Kevin pointed out off-line that as in the >>>>>> dialog case, the FX side >>>>>> of the code can use reflection and simply be a harmless >>>>>> non-functional no-op >>>>>> if the SwingAccessor does not provide the new method. >>>>>> >>>>>> BTW >>>>>> 264 inline HWND GetOverridenHWnd() { return m_overridenHwnd; } >>>>>> should be "dd" not "d". >>>>>> >>>>>> -phil. >>>>>> >>>>>> On 09/21/2017 03:38 AM, Alexander Zvegintsev wrote: >>>>>>> Hello, >>>>>>> >>>>>>> please review the fix >>>>>>> >>>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/00/ >>>>>>> >>>>>>> for the issue >>>>>>> >>>>>>> https://bugs.openjdk.java.net/browse/JDK-8185634 >>>>>>> >>>>>> >>>>> >>>> >>>> >>> > > From alexey.semenyuk at oracle.com Tue Nov 7 18:23:07 2017 From: alexey.semenyuk at oracle.com (Alexey Semenyuk) Date: Tue, 7 Nov 2017 13:23:07 -0500 Subject: [10] Review request: JDK-8190863: Windows build fails after fix for JDK-8185877 Message-ID: <7ebf4f75-4b9f-adfd-6e96-7d6bc47b1cfe@oracle.com> Victor, Kevin, Please review fix for build failure caused by the previous fix for https://bugs.openjdk.java.net/browse/JDK-8185877. JIRA: https://bugs.openjdk.java.net/browse/JDK-8190863 Webrev: http://cr.openjdk.java.net/~asemenyuk/8190863/webrev.00/ Testing done: built and verified on Oracle Linux 7 and Windows 10. - Alexey From Sergey.Bylokhov at oracle.com Tue Nov 7 18:46:20 2017 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Tue, 7 Nov 2017 10:46:20 -0800 Subject: [10] Review request for 8185634, 8185634: Java Fx-Swing dialogs appearing behind main stage In-Reply-To: <6fdb5231-5d5d-7336-f2c5-c463399aac63@oracle.com> References: <234563d7-7f68-296a-523c-c005cf4ca9a5@oracle.com> <26bddfb0-3dfa-92ac-b476-abe5a6bda1e1@oracle.com> <7c868789-6c1e-28c9-af7a-057d551e0dfe@oracle.com> <59DD336F.5050706@oracle.com> <8013fec4-ca01-7701-bc15-2fce01f88ca0@oracle.com> <6fdb5231-5d5d-7336-f2c5-c463399aac63@oracle.com> Message-ID: Thank yo for clarification, looks fine. On 07/11/2017 10:11, Alexander Zvegintsev wrote: > Hi Sergey, > > I am not able to crash it on several platforms, except one case: > > if we are terminating JavaFX application while EDT processing some long > task. But it is unrelated to the fix and reproducible on current builds. > > I've filed a separate bug JDK-8190329 > . > >> Will the current fix cover the native dialogs like >> FileDialog/PrintDialog on linux and windows? > It will not, Windows already fixed by JDK-8088395 > > > > Test added: > http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/05/ > > Thanks, > Alexander. > > On 13/10/2017 01:14, Sergey Bylokhov wrote: >> Looks fine. >> I am not sure but it looks like the fix has an assumption that the >> CPlatformWindow.setVisible() code will be executed on EDT/Appkit but >> it is not the case. This code can be executed on any >> thread(intentionally for crash), and it will be good to check that it >> works as expected by some stress test which will try to force the >> possible crash: 4 threads: >> ?- show/dispose Swing Node >> ?- show/dispose Dialog1/2/3 using different timeouts >> >> Will the current fix cover the native dialogs like >> FileDialog/PrintDialog on linux and windows? >> >> On 10/10/2017 13:54, Kevin Rushforth wrote: >>> Note that there is now a 04 version. >>> >>> It looks good to me, although someone more familiar with AWT should >>> also check the AWT changes. >>> >>> We will need a test program for this (as a follow-on issue if not now). >>> >>> -- Kevin >>> >>> >>> Alexander Zvegintsev wrote: >>>> Please review the updated version >>>> >>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/02/ >>>> Now we are postponing actual window closing, it happens only after >>>> we ensure that native window pointer is valid on Swing side. >>>> >>>> Thanks, >>>> Alexander. >>>> >>>> On 23/09/2017 08:01, Sergey Bylokhov wrote: >>>>> Hi, Alexander. >>>>> How can we be sure that the parent frame will not be disposed while >>>>> we use a pointer? >>>>> >>>>> long ownerWindowPtr = peer.getOverridenWindowHandle(); >>>>> <<<<< Dispose the peer >>>>> if (ownerWindowPtr != 0) { >>>>> ??? //Place window above JavaFX stage >>>>> ??? CWrapper.NSWindow.addChildWindow( >>>>> ??? ownerWindowPtr, ptr, CWrapper.NSWindow.NSWindowAbove); >>>>> <<<<< Boom >>>>> } >>>>> >>>>> >>>>> On 9/21/17 22:56, Alexander Zvegintsev wrote: >>>>>> Hi Phil, >>>>>> >>>>>> Please review the updated fix with reflection incorporated >>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/01/ >>>>>> >>>>>> New issue created JDK-8187803 >>>>>> as JDK >>>>>> counterpart of this issue. >>>>>> >>>>>> Thanks, >>>>>> Alexander. >>>>>> >>>>>> On 21/09/2017 22:25, Phil Race wrote: >>>>>>> Some procedural comments : >>>>>>> Since 90% of this is in AWT code, I'd have thought awt-dev should >>>>>>> be included here. >>>>>>> I've added that list. >>>>>>> >>>>>>> And apart from needing separate bug ids, I don't see why the bug >>>>>>> below is confidential. >>>>>>> >>>>>>> >>>>>>> I agree with what Kevin pointed out off-line that as in the >>>>>>> dialog case, the FX side >>>>>>> of the code can use reflection and simply be a harmless >>>>>>> non-functional no-op >>>>>>> if the SwingAccessor does not provide the new method. >>>>>>> >>>>>>> BTW >>>>>>> 264 inline HWND GetOverridenHWnd() { return m_overridenHwnd; } >>>>>>> should be "dd" not "d". >>>>>>> >>>>>>> -phil. >>>>>>> >>>>>>> On 09/21/2017 03:38 AM, Alexander Zvegintsev wrote: >>>>>>>> Hello, >>>>>>>> >>>>>>>> please review the fix >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/00/ >>>>>>>> >>>>>>>> for the issue >>>>>>>> >>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8185634 >>>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>> >> >> > -- Best regards, Sergey. From semyon.sadetsky at oracle.com Tue Nov 7 21:15:23 2017 From: semyon.sadetsky at oracle.com (Semyon Sadetsky) Date: Tue, 7 Nov 2017 13:15:23 -0800 Subject: [10] Review request for 8185634, 8185634: Java Fx-Swing dialogs appearing behind main stage In-Reply-To: <6fdb5231-5d5d-7336-f2c5-c463399aac63@oracle.com> References: <234563d7-7f68-296a-523c-c005cf4ca9a5@oracle.com> <26bddfb0-3dfa-92ac-b476-abe5a6bda1e1@oracle.com> <7c868789-6c1e-28c9-af7a-057d551e0dfe@oracle.com> <59DD336F.5050706@oracle.com> <8013fec4-ca01-7701-bc15-2fce01f88ca0@oracle.com> <6fdb5231-5d5d-7336-f2c5-c463399aac63@oracle.com> Message-ID: Hi Alexander, In CPlatformWindow.java change you used addChildWindow(), but we get rig of addChildWindow() in 8080729 and start to manage windows order on java side. Can you test that this change doesn't cause any ordering issues with modal and non-modal child and sibling windows on mac? --Semyon On 11/07/2017 10:11 AM, Alexander Zvegintsev wrote: > > Hi Sergey, > > I am not able to crash it on several platforms, except one case: > > if we are terminating JavaFX application while EDT processing some > long task. But it is unrelated to the fix and reproducible on current > builds. > > I've filed a separate bug JDK-8190329 > . > >> Will the current fix cover the native dialogs like >> FileDialog/PrintDialog on linux and windows? > It will not, Windows already fixed by JDK-8088395 > > > > Test added: > http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/05/ > Thanks, > Alexander. > On 13/10/2017 01:14, Sergey Bylokhov wrote: >> Looks fine. >> I am not sure but it looks like the fix has an assumption that the >> CPlatformWindow.setVisible() code will be executed on EDT/Appkit but >> it is not the case. This code can be executed on any >> thread(intentionally for crash), and it will be good to check that it >> works as expected by some stress test which will try to force the >> possible crash: 4 threads: >> ?- show/dispose Swing Node >> ?- show/dispose Dialog1/2/3 using different timeouts >> >> Will the current fix cover the native dialogs like >> FileDialog/PrintDialog on linux and windows? >> >> On 10/10/2017 13:54, Kevin Rushforth wrote: >>> Note that there is now a 04 version. >>> >>> It looks good to me, although someone more familiar with AWT should >>> also check the AWT changes. >>> >>> We will need a test program for this (as a follow-on issue if not now). >>> >>> -- Kevin >>> >>> >>> Alexander Zvegintsev wrote: >>>> Please review the updated version >>>> >>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/02/ >>>> Now we are postponing actual window closing, it happens only after >>>> we ensure that native window pointer is valid on Swing side. >>>> >>>> Thanks, >>>> Alexander. >>>> >>>> On 23/09/2017 08:01, Sergey Bylokhov wrote: >>>>> Hi, Alexander. >>>>> How can we be sure that the parent frame will not be disposed >>>>> while we use a pointer? >>>>> >>>>> long ownerWindowPtr = peer.getOverridenWindowHandle(); >>>>> <<<<< Dispose the peer >>>>> if (ownerWindowPtr != 0) { >>>>> ??? //Place window above JavaFX stage >>>>> ??? CWrapper.NSWindow.addChildWindow( >>>>> ??? ownerWindowPtr, ptr, CWrapper.NSWindow.NSWindowAbove); >>>>> <<<<< Boom >>>>> } >>>>> >>>>> >>>>> On 9/21/17 22:56, Alexander Zvegintsev wrote: >>>>>> Hi Phil, >>>>>> >>>>>> Please review the updated fix with reflection incorporated >>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/01/ >>>>>> >>>>>> New issue created JDK-8187803 >>>>>> as JDK >>>>>> counterpart of this issue. >>>>>> >>>>>> Thanks, >>>>>> Alexander. >>>>>> >>>>>> On 21/09/2017 22:25, Phil Race wrote: >>>>>>> Some procedural comments : >>>>>>> Since 90% of this is in AWT code, I'd have thought awt-dev >>>>>>> should be included here. >>>>>>> I've added that list. >>>>>>> >>>>>>> And apart from needing separate bug ids, I don't see why the bug >>>>>>> below is confidential. >>>>>>> >>>>>>> >>>>>>> I agree with what Kevin pointed out off-line that as in the >>>>>>> dialog case, the FX side >>>>>>> of the code can use reflection and simply be a harmless >>>>>>> non-functional no-op >>>>>>> if the SwingAccessor does not provide the new method. >>>>>>> >>>>>>> BTW >>>>>>> 264 inline HWND GetOverridenHWnd() { return m_overridenHwnd; } >>>>>>> should be "dd" not "d". >>>>>>> >>>>>>> -phil. >>>>>>> >>>>>>> On 09/21/2017 03:38 AM, Alexander Zvegintsev wrote: >>>>>>>> Hello, >>>>>>>> >>>>>>>> please review the fix >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/00/ >>>>>>>> >>>>>>>> for the issue >>>>>>>> >>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8185634 >>>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>> >> >> > From kevin.rushforth at oracle.com Tue Nov 7 21:47:38 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 07 Nov 2017 13:47:38 -0800 Subject: [10] Review request for 8185634, 8185634: Java Fx-Swing dialogs appearing behind main stage In-Reply-To: <6fdb5231-5d5d-7336-f2c5-c463399aac63@oracle.com> References: <234563d7-7f68-296a-523c-c005cf4ca9a5@oracle.com> <26bddfb0-3dfa-92ac-b476-abe5a6bda1e1@oracle.com> <7c868789-6c1e-28c9-af7a-057d551e0dfe@oracle.com> <59DD336F.5050706@oracle.com> <8013fec4-ca01-7701-bc15-2fce01f88ca0@oracle.com> <6fdb5231-5d5d-7336-f2c5-c463399aac63@oracle.com> Message-ID: <5A0229FA.4040809@oracle.com> _FX patch_ The new tests run fine for me on all three platforms. I noticed a couple issues while reviewing it: 1. All robot-based tests should be in the test.robot.** package hierarchy, such that they are only enabled with "-PUSE_ROBOT=true" -- I recommend to put them in a new test.robot.javafx.embed.swing package. 2. Can you replace the wild-card imports in the tests with explicit imports? _JDK patch_ You need to rebase the patch against the latest tip of jdk/client. Once you do that, you will notice that CPlatformWindow.java no longer compiles on Mac -- you will need to add an explicit import of sun.lwawt.LWLightweightFramePeer. -- Kevin Alexander Zvegintsev wrote: > > Hi Sergey, > > I am not able to crash it on several platforms, except one case: > > if we are terminating JavaFX application while EDT processing some > long task. But it is unrelated to the fix and reproducible on current > builds. > > I've filed a separate bug JDK-8190329 > . > >> Will the current fix cover the native dialogs like >> FileDialog/PrintDialog on linux and windows? > It will not, Windows already fixed by JDK-8088395 > > > > Test added: > http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/05/ > Thanks, > Alexander. > On 13/10/2017 01:14, Sergey Bylokhov wrote: >> Looks fine. >> I am not sure but it looks like the fix has an assumption that the >> CPlatformWindow.setVisible() code will be executed on EDT/Appkit but >> it is not the case. This code can be executed on any >> thread(intentionally for crash), and it will be good to check that it >> works as expected by some stress test which will try to force the >> possible crash: 4 threads: >> - show/dispose Swing Node >> - show/dispose Dialog1/2/3 using different timeouts >> >> Will the current fix cover the native dialogs like >> FileDialog/PrintDialog on linux and windows? >> >> On 10/10/2017 13:54, Kevin Rushforth wrote: >>> Note that there is now a 04 version. >>> >>> It looks good to me, although someone more familiar with AWT should >>> also check the AWT changes. >>> >>> We will need a test program for this (as a follow-on issue if not now). >>> >>> -- Kevin >>> >>> >>> Alexander Zvegintsev wrote: >>>> Please review the updated version >>>> >>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/02/ >>>> Now we are postponing actual window closing, it happens only after >>>> we ensure that native window pointer is valid on Swing side. >>>> >>>> Thanks, >>>> Alexander. >>>> >>>> On 23/09/2017 08:01, Sergey Bylokhov wrote: >>>>> Hi, Alexander. >>>>> How can we be sure that the parent frame will not be disposed >>>>> while we use a pointer? >>>>> >>>>> long ownerWindowPtr = peer.getOverridenWindowHandle(); >>>>> <<<<< Dispose the peer >>>>> if (ownerWindowPtr != 0) { >>>>> //Place window above JavaFX stage >>>>> CWrapper.NSWindow.addChildWindow( >>>>> ownerWindowPtr, ptr, CWrapper.NSWindow.NSWindowAbove); >>>>> <<<<< Boom >>>>> } >>>>> >>>>> >>>>> On 9/21/17 22:56, Alexander Zvegintsev wrote: >>>>>> Hi Phil, >>>>>> >>>>>> Please review the updated fix with reflection incorporated >>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/01/ >>>>>> >>>>>> New issue created JDK-8187803 >>>>>> as JDK >>>>>> counterpart of this issue. >>>>>> >>>>>> Thanks, >>>>>> Alexander. >>>>>> >>>>>> On 21/09/2017 22:25, Phil Race wrote: >>>>>>> Some procedural comments : >>>>>>> Since 90% of this is in AWT code, I'd have thought awt-dev >>>>>>> should be included here. >>>>>>> I've added that list. >>>>>>> >>>>>>> And apart from needing separate bug ids, I don't see why the bug >>>>>>> below is confidential. >>>>>>> >>>>>>> >>>>>>> I agree with what Kevin pointed out off-line that as in the >>>>>>> dialog case, the FX side >>>>>>> of the code can use reflection and simply be a harmless >>>>>>> non-functional no-op >>>>>>> if the SwingAccessor does not provide the new method. >>>>>>> >>>>>>> BTW >>>>>>> 264 inline HWND GetOverridenHWnd() { return m_overridenHwnd; } >>>>>>> should be "dd" not "d". >>>>>>> >>>>>>> -phil. >>>>>>> >>>>>>> On 09/21/2017 03:38 AM, Alexander Zvegintsev wrote: >>>>>>>> Hello, >>>>>>>> >>>>>>>> please review the fix >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/00/ >>>>>>>> >>>>>>>> for the issue >>>>>>>> >>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8185634 >>>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>> >> >> > From kevin.rushforth at oracle.com Tue Nov 7 23:04:18 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 07 Nov 2017 15:04:18 -0800 Subject: [10] RFR 8188062: Use Marlin renderer in JavaFX BasicStroke In-Reply-To: References: <9f2f20cb-28cf-0dae-c6c9-4cec6faea221@oracle.com> Message-ID: <5A023BF2.6080309@oracle.com> I did a fairly quick review and ran tests on two platforms. It looks good to me. I have some minor formating nits: PathConsumer2D.java: 1. In the following: + public DPathConsumer2D wrapPath2d(Path2D p2d) + { the opening curly brace can go at the end of the method declaration (same pattern appears in a few other files) 2. Can you add a blank line before the Path2DWrapper class declaration? Other than that, as long as you address Phil's concerns it is OK to go in. Thanks. -- Kevin Laurent Bourg?s wrote: > Just a gentle reminder... > Kevin, could you have a look ? > > I have other patches coming soon... > > Cheers, > Laurent > > Le 27 oct. 2017 8:02 PM, "Laurent Bourg?s" > a ?crit : > > Hi Phil, > Thanks for your comments. > > Le 27 oct. 2017 18:28, "Phil Race" > a ?crit : > > 38 private final Path2DWrapper wp_Path2DWrapper = new Path2DWrapper(); > > Are there tabs here ? The formatting looks odd. > > > It is manually aligned with followings lines (only space). > > > 44 public DPathConsumer2D wrapPath2d(Path2D p2d) > The method naming pattern I see elsewhere is "2D" not "2d" .. so can we fix this one ? > ie make it wrapPath2D > This occurs in at least two different files in this webrev: [D]TransformingPathConsumer2D.java > > > I agree and I can fix it here and also in Marlin2D (same code). > > I really don't like the changes in BasicStroke that not use direct literals instead of copying > the values from Stroker. It can't possibly help performance and you lose the implied relationship. > > I agree your point of view. However the reference or origin was > the public BasicStroke in 2d and Marlin checks that constants > match in static initializers (MarlinRenderingEngine). > > I prefer applying the same pattern in FX so I did that change > which removes the reference to OpenPisces.Stroker. > > - public static final int CAP_BUTT = Stroker.CAP_BUTT; > - public static final int CAP_ROUND = Stroker.CAP_ROUND; > - public static final int CAP_SQUARE = Stroker.CAP_SQUARE; > - > - public static final int JOIN_BEVEL = Stroker.JOIN_BEVEL; > - public static final int JOIN_MITER = Stroker.JOIN_MITER; > - public static final int JOIN_ROUND = Stroker.JOIN_ROUND; > + > + /** Constant value for end cap style. */ > + public static final int CAP_BUTT = 0; > + /** Constant value for end cap style. */ > + public static final int CAP_ROUND = 1; > + /** Constant value for end cap style. */ > + public static final int CAP_SQUARE = 2; > + > + /** Constant value for join style. */ > + public static final int JOIN_MITER = 0; > + /** Constant value for join style. */ > + public static final int JOIN_ROUND = 1; > + /** Constant value for join style. */ > + public static final int JOIN_BEVEL = 2; > > > The next one is not something I think must be fixed but an observation that it > seems odd to have to decide which Rasterizer to use every time some one calls this > API rather than making it a one time initialisation. > > > I wondered the same question. As PrismSettings are constants, > hotspot will optimize that code as a direct call to the proper > method (dead code elimination). > > + public static Shape createCenteredStrokedShape(Shape s, BasicStroke stroke) > + { > + if (PrismSettings.rasterizerSpec == RasterizerType.DoubleMarlin) { > + return DMarlinRasterizer.createCenteredStrokedShape(s, stroke); > + } > + if (PrismSettings.rasterizerSpec == RasterizerType.FloatMarlin) { > + return MarlinRasterizer.createCenteredStrokedShape(s, stroke); > + } > + // JavaPisces fallback: > + return createCenteredStrokedShapeOpenPisces(s, stroke); > + } > + > > Laurent > > -phil. > > > > On 10/25/2017 02:11 PM, Laurent Bourg?s wrote: >> Please review this simple patch that moves the >> BasicStroke.createCenteredStrokedShape() implementation into ShapeUtil in >> order to use Marlin instead of OpenPisces: >> >> JBS: https://bugs.openjdk.java.net/browse/JDK-8188062 >> Webrev: http://cr.openjdk.java.net/~lbourges/marlinFX/marlinFX-8188062.0/ >> >> Changes: >> - BasicStroke: fixed definition of CAP / JOIN constants + >> createCenteredStrokedShape() calls ShapeUtil createCenteredStrokedShape() >> (delegation) >> - ShapeUtil.createCenteredStrokedShape() delegates to (D)MarlinRasterizer >> (if enabled) or to OpenPisces (fallback) >> - (D)MarlinRasterizer: applied the same approach as in Marlin2D >> createStrokedShape() except I adopted the lineWidth trick as in OpenPisces >> - (D)MarlinPrismUtils: some refactoring to let the new strokeTo() method >> reuse the initPipeline() + simplified Path2D special handling >> - (D)RendererContext / (D)TransformingPathConsumer2D: added cached Path2D >> instance and Path2DWrapper (like in Marlin2D) >> >> >> PS: Removing OpenPisces in the future will be easier as remaining >> references are in ShapeUtil, OpenPiscesPrismUtils and few sw pipeline >> classes. Use the following command to get usages: >> find . -name "*.java" -exec grep -H "openpisces" {} \;) >> >> Cheers, >> Laurent >> > > From alexander.zvegintsev at oracle.com Wed Nov 8 02:59:23 2017 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Wed, 8 Nov 2017 08:29:23 +0530 Subject: [10] Review request for 8185634, 8185634: Java Fx-Swing dialogs appearing behind main stage In-Reply-To: References: <234563d7-7f68-296a-523c-c005cf4ca9a5@oracle.com> <26bddfb0-3dfa-92ac-b476-abe5a6bda1e1@oracle.com> <7c868789-6c1e-28c9-af7a-057d551e0dfe@oracle.com> <59DD336F.5050706@oracle.com> <8013fec4-ca01-7701-bc15-2fce01f88ca0@oracle.com> <6fdb5231-5d5d-7336-f2c5-c463399aac63@oracle.com> Message-ID: HI Semyon, Please see my answer to Dmitry > Hi Dmitry, > > From my understanding JavaFX stage can't be easily integrated in JDK to support orderWindow() approach, > > addChildWindow() is a native(and the simplest) way to maintain one window above other one, should be called only once. > > IIUC the main concert of JDK-8080729 that child windows jumping to parent's display upon focus receiving, this is not an issue with current fix, > > because addChildWindow() will be called only upon dialog creation in case of JavaFX-Swing interop. > > Jump may happen if user want to create a child swing dialog on display other than JavaFX stage's one, > > but such rare scenario can be easily workarounded on a user side by calling setLocation() right after setVisible() call. > > So I would prefer to use addChildWindow() to make this fix as simple as possible. Thanks, Alexander. On 08/11/2017 02:45, Semyon Sadetsky wrote: > > Hi Alexander, > > In CPlatformWindow.java change you used addChildWindow(), but we get > rig of addChildWindow() in 8080729 and start to manage windows order > on java side. Can you test that this change doesn't cause any ordering > issues with modal and non-modal child and sibling windows on mac? > > --Semyon > > On 11/07/2017 10:11 AM, Alexander Zvegintsev wrote: >> >> Hi Sergey, >> >> I am not able to crash it on several platforms, except one case: >> >> if we are terminating JavaFX application while EDT processing some >> long task. But it is unrelated to the fix and reproducible on current >> builds. >> >> I've filed a separate bug JDK-8190329 >> . >> >>> Will the current fix cover the native dialogs like >>> FileDialog/PrintDialog on linux and windows? >> It will not, Windows already fixed by JDK-8088395 >> >> >> >> Test added: >> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/05/ >> Thanks, >> Alexander. >> On 13/10/2017 01:14, Sergey Bylokhov wrote: >>> Looks fine. >>> I am not sure but it looks like the fix has an assumption that the >>> CPlatformWindow.setVisible() code will be executed on EDT/Appkit but >>> it is not the case. This code can be executed on any >>> thread(intentionally for crash), and it will be good to check that >>> it works as expected by some stress test which will try to force the >>> possible crash: 4 threads: >>> ?- show/dispose Swing Node >>> ?- show/dispose Dialog1/2/3 using different timeouts >>> >>> Will the current fix cover the native dialogs like >>> FileDialog/PrintDialog on linux and windows? >>> >>> On 10/10/2017 13:54, Kevin Rushforth wrote: >>>> Note that there is now a 04 version. >>>> >>>> It looks good to me, although someone more familiar with AWT should >>>> also check the AWT changes. >>>> >>>> We will need a test program for this (as a follow-on issue if not >>>> now). >>>> >>>> -- Kevin >>>> >>>> >>>> Alexander Zvegintsev wrote: >>>>> Please review the updated version >>>>> >>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/02/ >>>>> Now we are postponing actual window closing, it happens only after >>>>> we ensure that native window pointer is valid on Swing side. >>>>> >>>>> Thanks, >>>>> Alexander. >>>>> >>>>> On 23/09/2017 08:01, Sergey Bylokhov wrote: >>>>>> Hi, Alexander. >>>>>> How can we be sure that the parent frame will not be disposed >>>>>> while we use a pointer? >>>>>> >>>>>> long ownerWindowPtr = peer.getOverridenWindowHandle(); >>>>>> <<<<< Dispose the peer >>>>>> if (ownerWindowPtr != 0) { >>>>>> ??? //Place window above JavaFX stage >>>>>> ??? CWrapper.NSWindow.addChildWindow( >>>>>> ??? ownerWindowPtr, ptr, CWrapper.NSWindow.NSWindowAbove); >>>>>> <<<<< Boom >>>>>> } >>>>>> >>>>>> >>>>>> On 9/21/17 22:56, Alexander Zvegintsev wrote: >>>>>>> Hi Phil, >>>>>>> >>>>>>> Please review the updated fix with reflection incorporated >>>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/01/ >>>>>>> >>>>>>> New issue created JDK-8187803 >>>>>>> as JDK >>>>>>> counterpart of this issue. >>>>>>> >>>>>>> Thanks, >>>>>>> Alexander. >>>>>>> >>>>>>> On 21/09/2017 22:25, Phil Race wrote: >>>>>>>> Some procedural comments : >>>>>>>> Since 90% of this is in AWT code, I'd have thought awt-dev >>>>>>>> should be included here. >>>>>>>> I've added that list. >>>>>>>> >>>>>>>> And apart from needing separate bug ids, I don't see why the >>>>>>>> bug below is confidential. >>>>>>>> >>>>>>>> >>>>>>>> I agree with what Kevin pointed out off-line that as in the >>>>>>>> dialog case, the FX side >>>>>>>> of the code can use reflection and simply be a harmless >>>>>>>> non-functional no-op >>>>>>>> if the SwingAccessor does not provide the new method. >>>>>>>> >>>>>>>> BTW >>>>>>>> 264 inline HWND GetOverridenHWnd() { return m_overridenHwnd; } >>>>>>>> should be "dd" not "d". >>>>>>>> >>>>>>>> -phil. >>>>>>>> >>>>>>>> On 09/21/2017 03:38 AM, Alexander Zvegintsev wrote: >>>>>>>>> Hello, >>>>>>>>> >>>>>>>>> please review the fix >>>>>>>>> >>>>>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/00/ >>>>>>>>> >>>>>>>>> for the issue >>>>>>>>> >>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8185634 >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>> >>> >> > From kevin.rushforth at oracle.com Wed Nov 8 15:51:27 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 08 Nov 2017 07:51:27 -0800 Subject: [10] Review request for 8185634, 8185634: Java Fx-Swing dialogs appearing behind main stage In-Reply-To: References: <234563d7-7f68-296a-523c-c005cf4ca9a5@oracle.com> <26bddfb0-3dfa-92ac-b476-abe5a6bda1e1@oracle.com> <7c868789-6c1e-28c9-af7a-057d551e0dfe@oracle.com> <59DD336F.5050706@oracle.com> <8013fec4-ca01-7701-bc15-2fce01f88ca0@oracle.com> <6fdb5231-5d5d-7336-f2c5-c463399aac63@oracle.com> Message-ID: <5A0327FF.3060401@oracle.com> The latest webrev, version 06, looks good to me now. Approved (although I am not a "R"eviewer for AWT). -- Kevin Alexander Zvegintsev wrote: > > HI Semyon, > > Please see my answer to Dmitry > >> Hi Dmitry, >> >> From my understanding JavaFX stage can't be easily integrated in JDK to support orderWindow() approach, >> >> addChildWindow() is a native(and the simplest) way to maintain one window above other one, should be called only once. >> >> IIUC the main concert of JDK-8080729 that child windows jumping to parent's display upon focus receiving, this is not an issue with current fix, >> >> because addChildWindow() will be called only upon dialog creation in case of JavaFX-Swing interop. >> >> Jump may happen if user want to create a child swing dialog on display other than JavaFX stage's one, >> >> but such rare scenario can be easily workarounded on a user side by calling setLocation() right after setVisible() call. >> >> So I would prefer to use addChildWindow() to make this fix as simple as possible. > > Thanks, > Alexander. > On 08/11/2017 02:45, Semyon Sadetsky wrote: >> >> Hi Alexander, >> >> In CPlatformWindow.java change you used addChildWindow(), but we get >> rig of addChildWindow() in 8080729 and start to manage windows order >> on java side. Can you test that this change doesn't cause any >> ordering issues with modal and non-modal child and sibling windows on >> mac? >> >> --Semyon >> >> On 11/07/2017 10:11 AM, Alexander Zvegintsev wrote: >>> >>> Hi Sergey, >>> >>> I am not able to crash it on several platforms, except one case: >>> >>> if we are terminating JavaFX application while EDT processing some >>> long task. But it is unrelated to the fix and reproducible on >>> current builds. >>> >>> I've filed a separate bug JDK-8190329 >>> . >>> >>>> Will the current fix cover the native dialogs like >>>> FileDialog/PrintDialog on linux and windows? >>> It will not, Windows already fixed by JDK-8088395 >>> >>> >>> >>> Test added: >>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/05/ >>> Thanks, >>> Alexander. >>> On 13/10/2017 01:14, Sergey Bylokhov wrote: >>>> Looks fine. >>>> I am not sure but it looks like the fix has an assumption that the >>>> CPlatformWindow.setVisible() code will be executed on EDT/Appkit >>>> but it is not the case. This code can be executed on any >>>> thread(intentionally for crash), and it will be good to check that >>>> it works as expected by some stress test which will try to force >>>> the possible crash: 4 threads: >>>> - show/dispose Swing Node >>>> - show/dispose Dialog1/2/3 using different timeouts >>>> >>>> Will the current fix cover the native dialogs like >>>> FileDialog/PrintDialog on linux and windows? >>>> >>>> On 10/10/2017 13:54, Kevin Rushforth wrote: >>>>> Note that there is now a 04 version. >>>>> >>>>> It looks good to me, although someone more familiar with AWT >>>>> should also check the AWT changes. >>>>> >>>>> We will need a test program for this (as a follow-on issue if not >>>>> now). >>>>> >>>>> -- Kevin >>>>> >>>>> >>>>> Alexander Zvegintsev wrote: >>>>>> Please review the updated version >>>>>> >>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/02/ >>>>>> Now we are postponing actual window closing, it happens only >>>>>> after we ensure that native window pointer is valid on Swing side. >>>>>> >>>>>> Thanks, >>>>>> Alexander. >>>>>> >>>>>> On 23/09/2017 08:01, Sergey Bylokhov wrote: >>>>>>> Hi, Alexander. >>>>>>> How can we be sure that the parent frame will not be disposed >>>>>>> while we use a pointer? >>>>>>> >>>>>>> long ownerWindowPtr = peer.getOverridenWindowHandle(); >>>>>>> <<<<< Dispose the peer >>>>>>> if (ownerWindowPtr != 0) { >>>>>>> //Place window above JavaFX stage >>>>>>> CWrapper.NSWindow.addChildWindow( >>>>>>> ownerWindowPtr, ptr, CWrapper.NSWindow.NSWindowAbove); >>>>>>> <<<<< Boom >>>>>>> } >>>>>>> >>>>>>> >>>>>>> On 9/21/17 22:56, Alexander Zvegintsev wrote: >>>>>>>> Hi Phil, >>>>>>>> >>>>>>>> Please review the updated fix with reflection incorporated >>>>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/01/ >>>>>>>> >>>>>>>> New issue created JDK-8187803 >>>>>>>> as JDK >>>>>>>> counterpart of this issue. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Alexander. >>>>>>>> >>>>>>>> On 21/09/2017 22:25, Phil Race wrote: >>>>>>>>> Some procedural comments : >>>>>>>>> Since 90% of this is in AWT code, I'd have thought awt-dev >>>>>>>>> should be included here. >>>>>>>>> I've added that list. >>>>>>>>> >>>>>>>>> And apart from needing separate bug ids, I don't see why the >>>>>>>>> bug below is confidential. >>>>>>>>> >>>>>>>>> >>>>>>>>> I agree with what Kevin pointed out off-line that as in the >>>>>>>>> dialog case, the FX side >>>>>>>>> of the code can use reflection and simply be a harmless >>>>>>>>> non-functional no-op >>>>>>>>> if the SwingAccessor does not provide the new method. >>>>>>>>> >>>>>>>>> BTW >>>>>>>>> 264 inline HWND GetOverridenHWnd() { return m_overridenHwnd; } >>>>>>>>> should be "dd" not "d". >>>>>>>>> >>>>>>>>> -phil. >>>>>>>>> >>>>>>>>> On 09/21/2017 03:38 AM, Alexander Zvegintsev wrote: >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> please review the fix >>>>>>>>>> >>>>>>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/00/ >>>>>>>>>> >>>>>>>>>> for the issue >>>>>>>>>> >>>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8185634 >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>> >>>> >>> >> > From semyon.sadetsky at oracle.com Wed Nov 8 18:06:29 2017 From: semyon.sadetsky at oracle.com (Semyon Sadetsky) Date: Wed, 8 Nov 2017 10:06:29 -0800 Subject: [10] Review request for 8185634, 8185634: Java Fx-Swing dialogs appearing behind main stage In-Reply-To: References: <234563d7-7f68-296a-523c-c005cf4ca9a5@oracle.com> <26bddfb0-3dfa-92ac-b476-abe5a6bda1e1@oracle.com> <7c868789-6c1e-28c9-af7a-057d551e0dfe@oracle.com> <59DD336F.5050706@oracle.com> <8013fec4-ca01-7701-bc15-2fce01f88ca0@oracle.com> <6fdb5231-5d5d-7336-f2c5-c463399aac63@oracle.com> Message-ID: <10453dde-6cd9-15ae-9dd5-1ae5a9d7e974@oracle.com> Looks good. --Semyon On 11/07/2017 06:59 PM, Alexander Zvegintsev wrote: > > HI Semyon, > > Please see my answer to Dmitry > >> Hi Dmitry, >> >> From my understanding JavaFX stage can't be easily integrated in JDK to support orderWindow() approach, >> >> addChildWindow() is a native(and the simplest) way to maintain one window above other one, should be called only once. >> >> IIUC the main concert of JDK-8080729 that child windows jumping to parent's display upon focus receiving, this is not an issue with current fix, >> >> because addChildWindow() will be called only upon dialog creation in case of JavaFX-Swing interop. >> >> Jump may happen if user want to create a child swing dialog on display other than JavaFX stage's one, >> >> but such rare scenario can be easily workarounded on a user side by calling setLocation() right after setVisible() call. >> >> So I would prefer to use addChildWindow() to make this fix as simple as possible. > > Thanks, > Alexander. > On 08/11/2017 02:45, Semyon Sadetsky wrote: >> >> Hi Alexander, >> >> In CPlatformWindow.java change you used addChildWindow(), but we get >> rig of addChildWindow() in 8080729 and start to manage windows order >> on java side. Can you test that this change doesn't cause any >> ordering issues with modal and non-modal child and sibling windows on >> mac? >> >> --Semyon >> >> On 11/07/2017 10:11 AM, Alexander Zvegintsev wrote: >>> >>> Hi Sergey, >>> >>> I am not able to crash it on several platforms, except one case: >>> >>> if we are terminating JavaFX application while EDT processing some >>> long task. But it is unrelated to the fix and reproducible on >>> current builds. >>> >>> I've filed a separate bug JDK-8190329 >>> . >>> >>>> Will the current fix cover the native dialogs like >>>> FileDialog/PrintDialog on linux and windows? >>> It will not, Windows already fixed by JDK-8088395 >>> >>> >>> >>> Test added: >>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/05/ >>> Thanks, >>> Alexander. >>> On 13/10/2017 01:14, Sergey Bylokhov wrote: >>>> Looks fine. >>>> I am not sure but it looks like the fix has an assumption that the >>>> CPlatformWindow.setVisible() code will be executed on EDT/Appkit >>>> but it is not the case. This code can be executed on any >>>> thread(intentionally for crash), and it will be good to check that >>>> it works as expected by some stress test which will try to force >>>> the possible crash: 4 threads: >>>> ?- show/dispose Swing Node >>>> ?- show/dispose Dialog1/2/3 using different timeouts >>>> >>>> Will the current fix cover the native dialogs like >>>> FileDialog/PrintDialog on linux and windows? >>>> >>>> On 10/10/2017 13:54, Kevin Rushforth wrote: >>>>> Note that there is now a 04 version. >>>>> >>>>> It looks good to me, although someone more familiar with AWT >>>>> should also check the AWT changes. >>>>> >>>>> We will need a test program for this (as a follow-on issue if not >>>>> now). >>>>> >>>>> -- Kevin >>>>> >>>>> >>>>> Alexander Zvegintsev wrote: >>>>>> Please review the updated version >>>>>> >>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/02/ >>>>>> Now we are postponing actual window closing, it happens only >>>>>> after we ensure that native window pointer is valid on Swing side. >>>>>> >>>>>> Thanks, >>>>>> Alexander. >>>>>> >>>>>> On 23/09/2017 08:01, Sergey Bylokhov wrote: >>>>>>> Hi, Alexander. >>>>>>> How can we be sure that the parent frame will not be disposed >>>>>>> while we use a pointer? >>>>>>> >>>>>>> long ownerWindowPtr = peer.getOverridenWindowHandle(); >>>>>>> <<<<< Dispose the peer >>>>>>> if (ownerWindowPtr != 0) { >>>>>>> ??? //Place window above JavaFX stage >>>>>>> ??? CWrapper.NSWindow.addChildWindow( >>>>>>> ??? ownerWindowPtr, ptr, CWrapper.NSWindow.NSWindowAbove); >>>>>>> <<<<< Boom >>>>>>> } >>>>>>> >>>>>>> >>>>>>> On 9/21/17 22:56, Alexander Zvegintsev wrote: >>>>>>>> Hi Phil, >>>>>>>> >>>>>>>> Please review the updated fix with reflection incorporated >>>>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/01/ >>>>>>>> >>>>>>>> New issue created JDK-8187803 >>>>>>>> as JDK >>>>>>>> counterpart of this issue. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Alexander. >>>>>>>> >>>>>>>> On 21/09/2017 22:25, Phil Race wrote: >>>>>>>>> Some procedural comments : >>>>>>>>> Since 90% of this is in AWT code, I'd have thought awt-dev >>>>>>>>> should be included here. >>>>>>>>> I've added that list. >>>>>>>>> >>>>>>>>> And apart from needing separate bug ids, I don't see why the >>>>>>>>> bug below is confidential. >>>>>>>>> >>>>>>>>> >>>>>>>>> I agree with what Kevin pointed out off-line that as in the >>>>>>>>> dialog case, the FX side >>>>>>>>> of the code can use reflection and simply be a harmless >>>>>>>>> non-functional no-op >>>>>>>>> if the SwingAccessor does not provide the new method. >>>>>>>>> >>>>>>>>> BTW >>>>>>>>> 264 inline HWND GetOverridenHWnd() { return m_overridenHwnd; } >>>>>>>>> should be "dd" not "d". >>>>>>>>> >>>>>>>>> -phil. >>>>>>>>> >>>>>>>>> On 09/21/2017 03:38 AM, Alexander Zvegintsev wrote: >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> please review the fix >>>>>>>>>> >>>>>>>>>> http://cr.openjdk.java.net/~azvegint/jdk/10/8185634/00/ >>>>>>>>>> >>>>>>>>>> for the issue >>>>>>>>>> >>>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8185634 >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>> >>>> >>> >> > From bourges.laurent at gmail.com Wed Nov 8 21:36:01 2017 From: bourges.laurent at gmail.com (=?UTF-8?Q?Laurent_Bourg=C3=A8s?=) Date: Wed, 8 Nov 2017 22:36:01 +0100 Subject: [10] RFR 8188062: Use Marlin renderer in JavaFX BasicStroke In-Reply-To: <5A023BF2.6080309@oracle.com> References: <9f2f20cb-28cf-0dae-c6c9-4cec6faea221@oracle.com> <5A023BF2.6080309@oracle.com> Message-ID: Kevin & Phil, Here is the updated webrev: http://cr.openjdk.java.net/~lbourges/marlinFX/marlinFX-8188062.1/ Changes: - wrapPath2d typo => wrapPath2D() - whitespace / braces in (D)TransformingPathConsumer2D As mentioned in my answer to Phil's review, I moved the CAP/JOIN constants into BasicStroke (as in Java2D) as it is the public API (for me) instead of importing them from renderer implementation (openpisces or Marlin). Build OK on up-to-date OpenJFX10 + tested with MapBenchFX. If that webrev is OK, please push it for me. FYI the remaining OpenPisces references are listed below (and OpenPisces can be easily removed in other OpenJFX release): ./src/main/java/com/sun/prism/impl/shape/ShapeUtil.java: new com.sun.openpisces.Stroker(p2d, lw, stroke.getEndCap(), ./src/main/java/com/sun/prism/impl/shape/ShapeUtil.java: pc2d = new com.sun.openpisces.Dasher(pc2d, stroke.getDashArray(), ./src/main/java/com/sun/prism/impl/shape/OpenPiscesPrismUtils.java:import com.sun.openpisces.Dasher; ./src/main/java/com/sun/prism/impl/shape/OpenPiscesPrismUtils.java:import com.sun.openpisces.Renderer; ./src/main/java/com/sun/prism/impl/shape/OpenPiscesPrismUtils.java:import com.sun.openpisces.Stroker; ./src/main/java/com/sun/prism/impl/shape/OpenPiscesPrismUtils.java:import com.sun.openpisces.TransformingPathConsumer2D; ./src/main/java/com/sun/prism/impl/shape/OpenPiscesRasterizer.java:import com.sun.openpisces.AlphaConsumer; ./src/main/java/com/sun/prism/impl/shape/OpenPiscesRasterizer.java:import com.sun.openpisces.Renderer; ./src/main/java/com/sun/prism/sw/SWContext.java:import com.sun.openpisces.Renderer; ./src/main/java/com/sun/prism/sw/DirectRTPiscesAlphaConsumer.java:import com.sun.openpisces.AlphaConsumer; ./src/main/java/com/sun/prism/sw/DirectRTPiscesAlphaConsumer.java:import com.sun.openpisces.Renderer; ./src/main/java/com/sun/openpisces/Curve.java:package com.sun.openpisces; ./src/main/java/com/sun/openpisces/TransformingPathConsumer2D.java:package com.sun.openpisces; ./src/main/java/com/sun/openpisces/Helpers.java:package com.sun.openpisces; ./src/main/java/com/sun/openpisces/Dasher.java:package com.sun.openpisces; ./src/main/java/com/sun/openpisces/Stroker.java:package com.sun.openpisces; ./src/main/java/com/sun/openpisces/Renderer.java:package com.sun.openpisces; ./src/main/java/com/sun/openpisces/AlphaConsumer.java:package com.sun.openpisces; ./src/main/java/com/sun/marlin/MarlinAlphaConsumer.java:import com.sun.openpisces.AlphaConsumer; (the openpisces.AlphaConsumer interface should be kept and moved in another package like marlin ?) Cheers, Laurent 2017-11-08 0:04 GMT+01:00 Kevin Rushforth : > I did a fairly quick review and ran tests on two platforms. It looks good > to me. I have some minor formating nits: > > PathConsumer2D.java: > > 1. In the following: > > + public DPathConsumer2D wrapPath2d(Path2D p2d) > + { > > > the opening curly brace can go at the end of the method declaration (same > pattern appears in a few other files) > > > 2. Can you add a blank line before the Path2DWrapper class declaration? > > Other than that, as long as you address Phil's concerns it is OK to go in. > > Thanks. > > -- Kevin > > > Laurent Bourg?s wrote: > > Just a gentle reminder... > Kevin, could you have a look ? > > I have other patches coming soon... > > Cheers, > Laurent > > Le 27 oct. 2017 8:02 PM, "Laurent Bourg?s" a > ?crit : > >> Hi Phil, >> Thanks for your comments. >> >> Le 27 oct. 2017 18:28, "Phil Race" a ?crit : >> >> 38 private final Path2DWrapper wp_Path2DWrapper = new Path2DWrapper(); >> >> Are there tabs here ? The formatting looks odd. >> >> >> It is manually aligned with followings lines (only space). >> >> >> 44 public DPathConsumer2D wrapPath2d(Path2D p2d) >> The method naming pattern I see elsewhere is "2D" not "2d" .. so can we fix this one ? >> ie make it wrapPath2D >> This occurs in at least two different files in this webrev: [D]TransformingPathConsumer2D.java >> >> >> I agree and I can fix it here and also in Marlin2D (same code). >> >> I really don't like the changes in BasicStroke that not use direct literals instead of copying >> the values from Stroker. It can't possibly help performance and you lose the implied relationship. >> >> I agree your point of view. However the reference or origin was the >> public BasicStroke in 2d and Marlin checks that constants match in static >> initializers (MarlinRenderingEngine). >> >> I prefer applying the same pattern in FX so I did that change which >> removes the reference to OpenPisces.Stroker. >> >> - public static final int CAP_BUTT = Stroker.CAP_BUTT;- public static final int CAP_ROUND = Stroker.CAP_ROUND;- public static final int CAP_SQUARE = Stroker.CAP_SQUARE;-- public static final int JOIN_BEVEL = Stroker.JOIN_BEVEL;- public static final int JOIN_MITER = Stroker.JOIN_MITER;- public static final int JOIN_ROUND = Stroker.JOIN_ROUND;++ /** Constant value for end cap style. */+ public static final int CAP_BUTT = 0;+ /** Constant value for end cap style. */+ public static final int CAP_ROUND = 1;+ /** Constant value for end cap style. */+ public static final int CAP_SQUARE = 2;++ /** Constant value for join style. */+ public static final int JOIN_MITER = 0;+ /** Constant value for join style. */+ public static final int JOIN_ROUND = 1;+ /** Constant value for join style. */+ public static final int JOIN_BEVEL = 2; >> >> >> The next one is not something I think must be fixed but an observation that it >> seems odd to have to decide which Rasterizer to use every time some one calls this >> API rather than making it a one time initialisation. >> >> >> I wondered the same question. As PrismSettings are constants, hotspot >> will optimize that code as a direct call to the proper method (dead code >> elimination). >> >> + public static Shape createCenteredStrokedShape(Shape s, BasicStroke stroke)+ {+ if (PrismSettings.rasterizerSpec == RasterizerType.DoubleMarlin) {+ return DMarlinRasterizer.createCenteredStrokedShape(s, stroke);+ }+ if (PrismSettings.rasterizerSpec == RasterizerType.FloatMarlin) {+ return MarlinRasterizer.createCenteredStrokedShape(s, stroke);+ }+ // JavaPisces fallback:+ return createCenteredStrokedShapeOpenPisces(s, stroke);+ }+ >> >> Laurent >> >> -phil. >> >> >> >> On 10/25/2017 02:11 PM, Laurent Bourg?s wrote: >> >> Please review this simple patch that moves the >> BasicStroke.createCenteredStrokedShape() implementation into ShapeUtil in >> order to use Marlin instead of OpenPisces: >> >> JBS: https://bugs.openjdk.java.net/browse/JDK-8188062 >> Webrev: http://cr.openjdk.java.net/~lbourges/marlinFX/marlinFX-8188062.0/ >> >> Changes: >> - BasicStroke: fixed definition of CAP / JOIN constants + >> createCenteredStrokedShape() calls ShapeUtil createCenteredStrokedShape() >> (delegation) >> - ShapeUtil.createCenteredStrokedShape() delegates to (D)MarlinRasterizer >> (if enabled) or to OpenPisces (fallback) >> - (D)MarlinRasterizer: applied the same approach as in Marlin2D >> createStrokedShape() except I adopted the lineWidth trick as in OpenPisces >> - (D)MarlinPrismUtils: some refactoring to let the new strokeTo() method >> reuse the initPipeline() + simplified Path2D special handling >> - (D)RendererContext / (D)TransformingPathConsumer2D: added cached Path2D >> instance and Path2DWrapper (like in Marlin2D) >> >> >> PS: Removing OpenPisces in the future will be easier as remaining >> references are in ShapeUtil, OpenPiscesPrismUtils and few sw pipeline >> classes. Use the following command to get usages: >> find . -name "*.java" -exec grep -H "openpisces" {} \;) >> >> Cheers, >> Laurent >> >> >> >> >> From bourges.laurent at gmail.com Wed Nov 8 21:55:15 2017 From: bourges.laurent at gmail.com (=?UTF-8?Q?Laurent_Bourg=C3=A8s?=) Date: Wed, 8 Nov 2017 22:55:15 +0100 Subject: [OpenJDK 2D-Dev] RFR JDK-8184429: Path clipper added in Marlin2D & MarlinFX 0.8.0 In-Reply-To: References: <342d141a-da55-520b-dae0-c87fbb990a98@oracle.com> <2a2436e3-ac17-f7e3-1088-bd60205cb6e6@oracle.com> <1a80ab24-db5a-9708-e53a-2af277c5bc76@oracle.com> <034d753b-599c-f4c0-f4fa-0a7fa47e76a7@oracle.com> <59B004BF.2000105@oracle.com> Message-ID: Kevin & Phil, Some news on that issue: I successfully managed to finish the Path clipping support in Marlin 0.8.2 (release last week): https://github.com/bourgesl/marlin-renderer/releases/tag/v0.8.2 I fixed few remaining bugs in either Stroker (1) and in PathClipFilter (2) to have proper & tested clipping in Marlin renderer (2D). It now works perfectly with either NZ or EO winding rules. To ensure detecting any artefact between Clipping Off vs On, I implemented a 'basher' test (as recommended by Jim) that renderers 10 000 random polygons (5 -> 9 -> 50 line segments or mixed with line / quads / cubics) ( whose point coordinates are in [-50 to 150] ) to a 100x100 buffered image with or without clipping enabled (using a system property at runtime). Of course, all output pixels are compared and any pixel difference is considered as a failure. The new ShapeClipTests tests all stroke combinations (cap / join / with or without dashes / closed or not / EO or NZ rule) and also fills (closed or not / EO or NZ rule) => 170 tests run OK I need some time to synchronize MarlinFX and then with either OpenJDK forrest (new) or OpenJFX10. If you want the new automated test (long run ~ 20 minutes), I need some time to refactor it as it uses some code from my MapBench tool and have a standalone test class. Will you have time to review such (medium) changes in Marlin2D (Phil ?) and / or MarlinFX (Kevin ?) before the deadline (dec 14th) ? I said 'medium' as the code is quite simple to read but the new CG algorithms to ignore / discard useless path elements are cool but not obvious. Please tell me if you have time and if you prefer a combined (JDK / JFX) webrev or start with 2D or JFX. Cheers, Laurent 2017-09-07 8:52 GMT+02:00 Laurent Bourg?s : > Hi Kevin, > > Ok I propose to withdraw or postpone this review after JavaOne where we > will be able to discuss in a face to face meeting about Marlin & MarlinFX > changes for JDK10. > > I hope the 2d / jfx groups have other Graphics Guru to help, as good as > Jim Graham. > > Cheers, > Laurent > > Le 6 sept. 2017 16:23, "Kevin Rushforth" a > ?crit : > >> Hi Laurent, >> >> Some combination of Phil, Sergey, and I will take a look at this when we >> can. Perhaps there might be others on these two lists who could lend a >> helping hand? >> >> -- Kevin > > From philip.race at oracle.com Wed Nov 8 22:35:51 2017 From: philip.race at oracle.com (Phil Race) Date: Wed, 8 Nov 2017 14:35:51 -0800 Subject: [10] RFR 8188062: Use Marlin renderer in JavaFX BasicStroke In-Reply-To: References: <9f2f20cb-28cf-0dae-c6c9-4cec6faea221@oracle.com> <5A023BF2.6080309@oracle.com> Message-ID: I am fine for Kevin to push this as is. -phil. On 11/08/2017 01:36 PM, Laurent Bourg?s wrote: > Kevin & Phil, > > Here is the updated webrev: > http://cr.openjdk.java.net/~lbourges/marlinFX/marlinFX-8188062.1/ > > > Changes: > - wrapPath2d typo => wrapPath2D() > - whitespace / braces in (D)TransformingPathConsumer2D > > As mentioned in my answer to Phil's review, I moved the CAP/JOIN > constants into BasicStroke (as in Java2D) as it is the public API (for > me) instead of importing them from renderer implementation (openpisces > or Marlin). > > Build OK on up-to-date OpenJFX10 + tested with MapBenchFX. > > If that webrev is OK, please push it for me. > > > FYI the remaining OpenPisces references are listed below (and > OpenPisces can be easily removed in other OpenJFX release): > ./src/main/java/com/sun/prism/impl/shape/ShapeUtil.java: new > com.sun.openpisces.Stroker(p2d, lw, stroke.getEndCap(), > ./src/main/java/com/sun/prism/impl/shape/ShapeUtil.java: > pc2d = new com.sun.openpisces.Dasher(pc2d, stroke.getDashArray(), > > ./src/main/java/com/sun/prism/impl/shape/OpenPiscesPrismUtils.java:import > com.sun.openpisces.Dasher; > ./src/main/java/com/sun/prism/impl/shape/OpenPiscesPrismUtils.java:import > com.sun.openpisces.Renderer; > ./src/main/java/com/sun/prism/impl/shape/OpenPiscesPrismUtils.java:import > com.sun.openpisces.Stroker; > ./src/main/java/com/sun/prism/impl/shape/OpenPiscesPrismUtils.java:import > com.sun.openpisces.TransformingPathConsumer2D; > ./src/main/java/com/sun/prism/impl/shape/OpenPiscesRasterizer.java:import > com.sun.openpisces.AlphaConsumer; > ./src/main/java/com/sun/prism/impl/shape/OpenPiscesRasterizer.java:import > com.sun.openpisces.Renderer; > > ./src/main/java/com/sun/prism/sw/SWContext.java:import > com.sun.openpisces.Renderer; > > ./src/main/java/com/sun/prism/sw/DirectRTPiscesAlphaConsumer.java:import > com.sun.openpisces.AlphaConsumer; > ./src/main/java/com/sun/prism/sw/DirectRTPiscesAlphaConsumer.java:import > com.sun.openpisces.Renderer; > > ./src/main/java/com/sun/openpisces/Curve.java:package com.sun.openpisces; > ./src/main/java/com/sun/openpisces/TransformingPathConsumer2D.java:package > com.sun.openpisces; > ./src/main/java/com/sun/openpisces/Helpers.java:package > com.sun.openpisces; > ./src/main/java/com/sun/openpisces/Dasher.java:package com.sun.openpisces; > ./src/main/java/com/sun/openpisces/Stroker.java:package > com.sun.openpisces; > ./src/main/java/com/sun/openpisces/Renderer.java:package > com.sun.openpisces; > ./src/main/java/com/sun/openpisces/AlphaConsumer.java:package > com.sun.openpisces; > > ./src/main/java/com/sun/marlin/MarlinAlphaConsumer.java:import > com.sun.openpisces.AlphaConsumer; > > (the openpisces.AlphaConsumer interface should be kept and moved in > another package like marlin ?) > > Cheers, > Laurent > > > 2017-11-08 0:04 GMT+01:00 Kevin Rushforth >: > > I did a fairly quick review and ran tests on two platforms. It > looks good to me. I have some minor formating nits: > > PathConsumer2D.java: > > 1. In the following: > > + public DPathConsumer2D wrapPath2d(Path2D p2d) > + { > > > the opening curly brace can go at the end of the method > declaration (same pattern appears in a few other files) > > > 2. Can you add a blank line before the Path2DWrapper class > declaration? > > Other than that, as long as you address Phil's concerns it is OK > to go in. > > Thanks. > > -- Kevin > > > Laurent Bourg?s wrote: >> Just a gentle reminder... >> Kevin, could you have a look ? >> >> I have other patches coming soon... >> >> Cheers, >> Laurent >> >> Le 27 oct. 2017 8:02 PM, "Laurent Bourg?s" >> > a >> ?crit : >> >> Hi Phil, >> Thanks for your comments. >> >> Le 27 oct. 2017 18:28, "Phil Race" > > a ?crit : >> >> 38 private final Path2DWrapper wp_Path2DWrapper = new >> Path2DWrapper(); >> >> Are there tabs here ? The formatting looks odd. >> >> >> It is manually aligned with followings lines (only space). >> >> >> 44 public DPathConsumer2D wrapPath2d(Path2D p2d) The >> method naming pattern I see elsewhere is "2D" not "2d" .. >> so can we fix this one ? ie make it wrapPath2D This >> occurs in at least two different files in this webrev: [D]TransformingPathConsumer2D.java >> >> >> I agree and I can fix it here and also in Marlin2D (same code). >> >> I really don't like the changes in BasicStroke that not use direct literals instead of copying >> the values from Stroker. It can't possibly help performance and you lose the implied relationship. >> >> I agree your point of view. However the reference or origin >> was the public BasicStroke in 2d and Marlin checks that >> constants match in static initializers (MarlinRenderingEngine). >> >> I prefer applying the same pattern in FX so I did that change >> which removes the reference to OpenPisces.Stroker. >> >> - public static final int CAP_BUTT = Stroker.CAP_BUTT; >> - public static final int CAP_ROUND = Stroker.CAP_ROUND; >> - public static final int CAP_SQUARE = Stroker.CAP_SQUARE; >> - >> - public static final int JOIN_BEVEL = Stroker.JOIN_BEVEL; >> - public static final int JOIN_MITER = Stroker.JOIN_MITER; >> - public static final int JOIN_ROUND = Stroker.JOIN_ROUND; >> + >> + /** Constant value for end cap style. */ >> + public static final int CAP_BUTT = 0; >> + /** Constant value for end cap style. */ >> + public static final int CAP_ROUND = 1; >> + /** Constant value for end cap style. */ >> + public static final int CAP_SQUARE = 2; >> + >> + /** Constant value for join style. */ >> + public static final int JOIN_MITER = 0; >> + /** Constant value for join style. */ >> + public static final int JOIN_ROUND = 1; >> + /** Constant value for join style. */ >> + public static final int JOIN_BEVEL = 2; >> >> >> The next one is not something I think must be fixed but an observation that it >> seems odd to have to decide which Rasterizer to use every time some one calls this >> API rather than making it a one time initialisation. >> >> >> I wondered the same question. As PrismSettings are constants, >> hotspot will optimize that code as a direct call to the >> proper method (dead code elimination). >> >> + public static Shape createCenteredStrokedShape(Shape s, >> BasicStroke stroke) >> + { >> + if (PrismSettings.rasterizerSpec == >> RasterizerType.DoubleMarlin) { >> + return DMarlinRasterizer.createCenteredStrokedShape(s, >> stroke); >> + } >> + if (PrismSettings.rasterizerSpec == >> RasterizerType.FloatMarlin) { >> + return MarlinRasterizer.createCenteredStrokedShape(s, >> stroke); >> + } >> + // JavaPisces fallback: >> + return createCenteredStrokedShapeOpenPisces(s, stroke); >> + } >> + >> >> Laurent >> >> -phil. >> >> >> >> On 10/25/2017 02:11 PM, Laurent Bourg?s wrote: >>> Please review this simple patch that moves the >>> BasicStroke.createCenteredStrokedShape() implementation into ShapeUtil in >>> order to use Marlin instead of OpenPisces: >>> >>> JBS:https://bugs.openjdk.java.net/browse/JDK-8188062 >>> >>> Webrev:http://cr.openjdk.java.net/~lbourges/marlinFX/marlinFX-8188062.0/ >>> >>> >>> Changes: >>> - BasicStroke: fixed definition of CAP / JOIN constants + >>> createCenteredStrokedShape() calls ShapeUtil createCenteredStrokedShape() >>> (delegation) >>> - ShapeUtil.createCenteredStrokedShape() delegates to (D)MarlinRasterizer >>> (if enabled) or to OpenPisces (fallback) >>> - (D)MarlinRasterizer: applied the same approach as in Marlin2D >>> createStrokedShape() except I adopted the lineWidth trick as in OpenPisces >>> - (D)MarlinPrismUtils: some refactoring to let the new strokeTo() method >>> reuse the initPipeline() + simplified Path2D special handling >>> - (D)RendererContext / (D)TransformingPathConsumer2D: added cached Path2D >>> instance and Path2DWrapper (like in Marlin2D) >>> >>> >>> PS: Removing OpenPisces in the future will be easier as remaining >>> references are in ShapeUtil, OpenPiscesPrismUtils and few sw pipeline >>> classes. Use the following command to get usages: >>> find . -name "*.java" -exec grep -H "openpisces" {} \;) >>> >>> Cheers, >>> Laurent >>> >> >> From philip.race at oracle.com Wed Nov 8 22:41:52 2017 From: philip.race at oracle.com (Phil Race) Date: Wed, 8 Nov 2017 14:41:52 -0800 Subject: [OpenJDK 2D-Dev] RFR JDK-8184429: Path clipper added in Marlin2D & MarlinFX 0.8.0 In-Reply-To: References: <2a2436e3-ac17-f7e3-1088-bd60205cb6e6@oracle.com> <1a80ab24-db5a-9708-e53a-2af277c5bc76@oracle.com> <034d753b-599c-f4c0-f4fa-0a7fa47e76a7@oracle.com> <59B004BF.2000105@oracle.com> Message-ID: <018f1daa-d154-9d97-88f7-93bc0a376293@oracle.com> I think they should be separate webrevs sent to the separate lists and you should start with 2D as I can then run the JDK regression tests on it. I know you can theoretically run the open regression tests too (are you ?) but there are some random scattered closed regression tests that so far as I can see can be open sourced .. that I can run but you can't .. I'll at least run the automated ones. I wouldn't call them anything very focused on testing rasterization but I can at least check off that concern .. And yes, I'll make time to review it. -phil. On 11/08/2017 01:55 PM, Laurent Bourg?s wrote: > Kevin & Phil, > > Some news on that issue: > I successfully managed to finish the Path clipping support in Marlin > 0.8.2 (release last week): > https://github.com/bourgesl/marlin-renderer/releases/tag/v0.8.2 > > I fixed few remaining bugs in either Stroker (1) and in PathClipFilter > (2) to have proper & tested clipping in Marlin renderer (2D). It now > works perfectly with either NZ or EO winding rules. > > To ensure detecting any artefact between Clipping Off vs On, I > implemented a 'basher' test (as recommended by Jim) that renderers 10 > 000 random polygons (5 -> 9 -> 50 line segments or mixed with line / > quads / cubics) ( whose point coordinates are in [-50 to 150] ) to a > 100x100 buffered image with or without clipping enabled (using a > system property at runtime). Of course, all output pixels are compared > and any pixel difference is considered as a failure. > > The new ShapeClipTests tests all stroke combinations (cap / join / > with or without dashes / closed or not / EO or NZ rule) and also fills > (closed or not / EO or NZ rule) => 170 tests run OK > > I need some time to synchronize MarlinFX and then with either OpenJDK > forrest (new) or OpenJFX10. > If you want the new automated test (long run ~ 20 minutes), I need > some time to refactor it as it uses some code from my MapBench tool > and have a standalone test class. > > Will you have time to review such (medium) changes in Marlin2D (Phil > ?) and / or MarlinFX (Kevin ?) before the deadline (dec 14th) ? > I said 'medium' as the code is quite simple to read but the new CG > algorithms to ignore / discard useless path elements are cool but not > obvious. > > Please tell me if you have time and if you prefer a combined (JDK / > JFX) webrev or start with 2D or JFX. > > Cheers, > Laurent > > > 2017-09-07 8:52 GMT+02:00 Laurent Bourg?s >: > > Hi Kevin, > > Ok I propose to withdraw or postpone this review after JavaOne > where we will be able to discuss in a face to face meeting about > Marlin & MarlinFX changes for JDK10. > > I hope the 2d / jfx groups have other Graphics Guru to help, as > good as Jim Graham. > > Cheers, > Laurent > > Le 6 sept. 2017 16:23, "Kevin Rushforth" > > a > ?crit : > > Hi Laurent, > > Some combination of Phil, Sergey, and I will take a look at > this when we can. Perhaps there might be others on these two > lists who could lend a helping hand? > > -- Kevin > From kevin.rushforth at oracle.com Wed Nov 8 22:56:50 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 08 Nov 2017 14:56:50 -0800 Subject: [10] RFR 8188062: Use Marlin renderer in JavaFX BasicStroke In-Reply-To: References: <9f2f20cb-28cf-0dae-c6c9-4cec6faea221@oracle.com> <5A023BF2.6080309@oracle.com> Message-ID: <5A038BB2.2010204@oracle.com> OK, I'll do it tomorrow. -- Kevin Phil Race wrote: > I am fine for Kevin to push this as is. > > -phil. > > On 11/08/2017 01:36 PM, Laurent Bourg?s wrote: >> Kevin & Phil, >> >> Here is the updated webrev: >> http://cr.openjdk.java.net/~lbourges/marlinFX/marlinFX-8188062.1/ >> >> >> Changes: >> - wrapPath2d typo => wrapPath2D() >> - whitespace / braces in (D)TransformingPathConsumer2D >> >> As mentioned in my answer to Phil's review, I moved the CAP/JOIN >> constants into BasicStroke (as in Java2D) as it is the public API >> (for me) instead of importing them from renderer implementation >> (openpisces or Marlin). >> >> Build OK on up-to-date OpenJFX10 + tested with MapBenchFX. >> >> If that webrev is OK, please push it for me. >> >> >> FYI the remaining OpenPisces references are listed below (and >> OpenPisces can be easily removed in other OpenJFX release): >> ./src/main/java/com/sun/prism/impl/shape/ShapeUtil.java: >> new com.sun.openpisces.Stroker(p2d, lw, stroke.getEndCap(), >> ./src/main/java/com/sun/prism/impl/shape/ShapeUtil.java: >> pc2d = new com.sun.openpisces.Dasher(pc2d, stroke.getDashArray(), >> >> ./src/main/java/com/sun/prism/impl/shape/OpenPiscesPrismUtils.java:import >> com.sun.openpisces.Dasher; >> ./src/main/java/com/sun/prism/impl/shape/OpenPiscesPrismUtils.java:import >> com.sun.openpisces.Renderer; >> ./src/main/java/com/sun/prism/impl/shape/OpenPiscesPrismUtils.java:import >> com.sun.openpisces.Stroker; >> ./src/main/java/com/sun/prism/impl/shape/OpenPiscesPrismUtils.java:import >> com.sun.openpisces.TransformingPathConsumer2D; >> ./src/main/java/com/sun/prism/impl/shape/OpenPiscesRasterizer.java:import >> com.sun.openpisces.AlphaConsumer; >> ./src/main/java/com/sun/prism/impl/shape/OpenPiscesRasterizer.java:import >> com.sun.openpisces.Renderer; >> >> ./src/main/java/com/sun/prism/sw/SWContext.java:import >> com.sun.openpisces.Renderer; >> >> ./src/main/java/com/sun/prism/sw/DirectRTPiscesAlphaConsumer.java:import >> com.sun.openpisces.AlphaConsumer; >> ./src/main/java/com/sun/prism/sw/DirectRTPiscesAlphaConsumer.java:import >> com.sun.openpisces.Renderer; >> >> ./src/main/java/com/sun/openpisces/Curve.java:package com.sun.openpisces; >> ./src/main/java/com/sun/openpisces/TransformingPathConsumer2D.java:package >> com.sun.openpisces; >> ./src/main/java/com/sun/openpisces/Helpers.java:package >> com.sun.openpisces; >> ./src/main/java/com/sun/openpisces/Dasher.java:package >> com.sun.openpisces; >> ./src/main/java/com/sun/openpisces/Stroker.java:package >> com.sun.openpisces; >> ./src/main/java/com/sun/openpisces/Renderer.java:package >> com.sun.openpisces; >> ./src/main/java/com/sun/openpisces/AlphaConsumer.java:package >> com.sun.openpisces; >> >> ./src/main/java/com/sun/marlin/MarlinAlphaConsumer.java:import >> com.sun.openpisces.AlphaConsumer; >> >> (the openpisces.AlphaConsumer interface should be kept and moved in >> another package like marlin ?) >> >> Cheers, >> Laurent >> >> >> 2017-11-08 0:04 GMT+01:00 Kevin Rushforth > >: >> >> I did a fairly quick review and ran tests on two platforms. It >> looks good to me. I have some minor formating nits: >> >> PathConsumer2D.java: >> >> 1. In the following: >> >> + public DPathConsumer2D wrapPath2d(Path2D p2d) >> + { >> >> >> the opening curly brace can go at the end of the method >> declaration (same pattern appears in a few other files) >> >> >> 2. Can you add a blank line before the Path2DWrapper class >> declaration? >> >> Other than that, as long as you address Phil's concerns it is OK >> to go in. >> >> Thanks. >> >> -- Kevin >> >> >> Laurent Bourg?s wrote: >>> Just a gentle reminder... >>> Kevin, could you have a look ? >>> >>> I have other patches coming soon... >>> >>> Cheers, >>> Laurent >>> >>> Le 27 oct. 2017 8:02 PM, "Laurent Bourg?s" >>> > a >>> ?crit : >>> >>> Hi Phil, >>> Thanks for your comments. >>> >>> Le 27 oct. 2017 18:28, "Phil Race" >> > a ?crit : >>> >>> 38 private final Path2DWrapper wp_Path2DWrapper = new Path2DWrapper(); >>> >>> Are there tabs here ? The formatting looks odd. >>> >>> >>> It is manually aligned with followings lines (only space). >>> >>> >>> 44 public DPathConsumer2D wrapPath2d(Path2D p2d) >>> The method naming pattern I see elsewhere is "2D" not "2d" .. so can we fix this one ? >>> ie make it wrapPath2D >>> This occurs in at least two different files in this webrev: [D]TransformingPathConsumer2D.java >>> >>> >>> I agree and I can fix it here and also in Marlin2D (same code). >>> >>> I really don't like the changes in BasicStroke that not use direct literals instead of copying >>> the values from Stroker. It can't possibly help performance and you lose the implied relationship. >>> >>> I agree your point of view. However the reference or origin >>> was the public BasicStroke in 2d and Marlin checks that >>> constants match in static initializers (MarlinRenderingEngine). >>> >>> I prefer applying the same pattern in FX so I did that >>> change which removes the reference to OpenPisces.Stroker. >>> >>> - public static final int CAP_BUTT = Stroker.CAP_BUTT; >>> - public static final int CAP_ROUND = Stroker.CAP_ROUND; >>> - public static final int CAP_SQUARE = Stroker.CAP_SQUARE; >>> - >>> - public static final int JOIN_BEVEL = Stroker.JOIN_BEVEL; >>> - public static final int JOIN_MITER = Stroker.JOIN_MITER; >>> - public static final int JOIN_ROUND = Stroker.JOIN_ROUND; >>> + >>> + /** Constant value for end cap style. */ >>> + public static final int CAP_BUTT = 0; >>> + /** Constant value for end cap style. */ >>> + public static final int CAP_ROUND = 1; >>> + /** Constant value for end cap style. */ >>> + public static final int CAP_SQUARE = 2; >>> + >>> + /** Constant value for join style. */ >>> + public static final int JOIN_MITER = 0; >>> + /** Constant value for join style. */ >>> + public static final int JOIN_ROUND = 1; >>> + /** Constant value for join style. */ >>> + public static final int JOIN_BEVEL = 2; >>> >>> >>> The next one is not something I think must be fixed but an observation that it >>> seems odd to have to decide which Rasterizer to use every time some one calls this >>> API rather than making it a one time initialisation. >>> >>> >>> I wondered the same question. As PrismSettings are >>> constants, hotspot will optimize that code as a direct call >>> to the proper method (dead code elimination). >>> >>> + public static Shape createCenteredStrokedShape(Shape s, BasicStroke stroke) >>> + { >>> + if (PrismSettings.rasterizerSpec == RasterizerType.DoubleMarlin) { >>> + return DMarlinRasterizer.createCenteredStrokedShape(s, stroke); >>> + } >>> + if (PrismSettings.rasterizerSpec == RasterizerType.FloatMarlin) { >>> + return MarlinRasterizer.createCenteredStrokedShape(s, stroke); >>> + } >>> + // JavaPisces fallback: >>> + return createCenteredStrokedShapeOpenPisces(s, stroke); >>> + } >>> + >>> >>> Laurent >>> >>> -phil. >>> >>> >>> >>> On 10/25/2017 02:11 PM, Laurent Bourg?s wrote: >>>> Please review this simple patch that moves the >>>> BasicStroke.createCenteredStrokedShape() implementation into ShapeUtil in >>>> order to use Marlin instead of OpenPisces: >>>> >>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8188062 >>>> Webrev: http://cr.openjdk.java.net/~lbourges/marlinFX/marlinFX-8188062.0/ >>>> >>>> Changes: >>>> - BasicStroke: fixed definition of CAP / JOIN constants + >>>> createCenteredStrokedShape() calls ShapeUtil createCenteredStrokedShape() >>>> (delegation) >>>> - ShapeUtil.createCenteredStrokedShape() delegates to (D)MarlinRasterizer >>>> (if enabled) or to OpenPisces (fallback) >>>> - (D)MarlinRasterizer: applied the same approach as in Marlin2D >>>> createStrokedShape() except I adopted the lineWidth trick as in OpenPisces >>>> - (D)MarlinPrismUtils: some refactoring to let the new strokeTo() method >>>> reuse the initPipeline() + simplified Path2D special handling >>>> - (D)RendererContext / (D)TransformingPathConsumer2D: added cached Path2D >>>> instance and Path2DWrapper (like in Marlin2D) >>>> >>>> >>>> PS: Removing OpenPisces in the future will be easier as remaining >>>> references are in ShapeUtil, OpenPiscesPrismUtils and few sw pipeline >>>> classes. Use the following command to get usages: >>>> find . -name "*.java" -exec grep -H "openpisces" {} \;) >>>> >>>> Cheers, >>>> Laurent >>>> >>> >>> > From kevin.rushforth at oracle.com Wed Nov 8 22:58:38 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 08 Nov 2017 14:58:38 -0800 Subject: [OpenJDK 2D-Dev] RFR JDK-8184429: Path clipper added in Marlin2D & MarlinFX 0.8.0 In-Reply-To: <018f1daa-d154-9d97-88f7-93bc0a376293@oracle.com> References: <1a80ab24-db5a-9708-e53a-2af277c5bc76@oracle.com> <034d753b-599c-f4c0-f4fa-0a7fa47e76a7@oracle.com> <59B004BF.2000105@oracle.com> <018f1daa-d154-9d97-88f7-93bc0a376293@oracle.com> Message-ID: <5A038C1E.50607@oracle.com> And once we are happy with the 2D webrev, it should be pretty straight-forward to review it for FX. -- Kevin Phil Race wrote: > I think they should be separate webrevs sent to the separate lists and > you should start with 2D > as I can then run the JDK regression tests on it. I know you can > theoretically run the open regression > tests too (are you ?) but there are some random scattered closed > regression tests that so far > as I can see can be open sourced .. that I can run but you can't .. > I'll at least run the > automated ones. I wouldn't call them anything very focused on testing > rasterization but > I can at least check off that concern .. > > And yes, I'll make time to review it. > > -phil. > > On 11/08/2017 01:55 PM, Laurent Bourg?s wrote: >> Kevin & Phil, >> >> Some news on that issue: >> I successfully managed to finish the Path clipping support in Marlin >> 0.8.2 (release last week): >> https://github.com/bourgesl/marlin-renderer/releases/tag/v0.8.2 >> >> I fixed few remaining bugs in either Stroker (1) and in >> PathClipFilter (2) to have proper & tested clipping in Marlin >> renderer (2D). It now works perfectly with either NZ or EO winding rules. >> >> To ensure detecting any artefact between Clipping Off vs On, I >> implemented a 'basher' test (as recommended by Jim) that renderers 10 >> 000 random polygons (5 -> 9 -> 50 line segments or mixed with line / >> quads / cubics) ( whose point coordinates are in [-50 to 150] ) to a >> 100x100 buffered image with or without clipping enabled (using a >> system property at runtime). Of course, all output pixels are >> compared and any pixel difference is considered as a failure. >> >> The new ShapeClipTests tests all stroke combinations (cap / join / >> with or without dashes / closed or not / EO or NZ rule) and also >> fills (closed or not / EO or NZ rule) => 170 tests run OK >> >> I need some time to synchronize MarlinFX and then with either OpenJDK >> forrest (new) or OpenJFX10. >> If you want the new automated test (long run ~ 20 minutes), I need >> some time to refactor it as it uses some code from my MapBench tool >> and have a standalone test class. >> >> Will you have time to review such (medium) changes in Marlin2D (Phil >> ?) and / or MarlinFX (Kevin ?) before the deadline (dec 14th) ? >> I said 'medium' as the code is quite simple to read but the new CG >> algorithms to ignore / discard useless path elements are cool but not >> obvious. >> >> Please tell me if you have time and if you prefer a combined (JDK / >> JFX) webrev or start with 2D or JFX. >> >> Cheers, >> Laurent >> >> >> 2017-09-07 8:52 GMT+02:00 Laurent Bourg?s > >: >> >> Hi Kevin, >> >> Ok I propose to withdraw or postpone this review after JavaOne >> where we will be able to discuss in a face to face meeting about >> Marlin & MarlinFX changes for JDK10. >> >> I hope the 2d / jfx groups have other Graphics Guru to help, as >> good as Jim Graham. >> >> Cheers, >> Laurent >> >> Le 6 sept. 2017 16:23, "Kevin Rushforth" >> > >> a ?crit : >> >> Hi Laurent, >> >> Some combination of Phil, Sergey, and I will take a look at >> this when we can. Perhaps there might be others on these two >> lists who could lend a helping hand? >> >> -- Kevin >> > From ambarish.rapte at oracle.com Thu Nov 9 00:55:23 2017 From: ambarish.rapte at oracle.com (Ambarish Rapte) Date: Wed, 8 Nov 2017 16:55:23 -0800 (PST) Subject: [10] RFR : JDK-8187074 : [TabPane] Support reordering of Tabs within a TabPane Message-ID: <8e31e544-dc4d-44f6-8346-585e7b70231f@default> Hi, Request you to review the following fix, Issue: https://bugs.openjdk.java.net/browse/JDK-8187074 Webrev: http://cr.openjdk.java.net/~arapte/fx/8187074/webrev.04/ Regards, Ambarish From bourges.laurent at gmail.com Thu Nov 9 08:18:47 2017 From: bourges.laurent at gmail.com (=?UTF-8?Q?Laurent_Bourg=C3=A8s?=) Date: Thu, 9 Nov 2017 09:18:47 +0100 Subject: [OpenJDK 2D-Dev] RFR JDK-8184429: Path clipper added in Marlin2D & MarlinFX 0.8.0 In-Reply-To: <018f1daa-d154-9d97-88f7-93bc0a376293@oracle.com> References: <2a2436e3-ac17-f7e3-1088-bd60205cb6e6@oracle.com> <1a80ab24-db5a-9708-e53a-2af277c5bc76@oracle.com> <034d753b-599c-f4c0-f4fa-0a7fa47e76a7@oracle.com> <59B004BF.2000105@oracle.com> <018f1daa-d154-9d97-88f7-93bc0a376293@oracle.com> Message-ID: Phil & Kevin, The proposed plan looks good. I will first work on refactoring my ShapeClipTest and then focus on having a Java2d patch ready. I absolutely want that this new performance improvement will ship in Java 10. PS: Another important performance change concerns tuning Java2D tile sizes. This can be easily done: set tile log2 settings to 7 x 6 to let Marlin use 128x64 tiles: up to 60% gain for large shapes rendered on VolatileImage (linux 64 + i7 + nvidia) I will create new bugs to track these RFE... Bye, Laurent Le 8 nov. 2017 23:44, "Phil Race" a ?crit : I think they should be separate webrevs sent to the separate lists and you should start with 2D as I can then run the JDK regression tests on it. I know you can theoretically run the open regression tests too (are you ?) but there are some random scattered closed regression tests that so far as I can see can be open sourced .. that I can run but you can't .. I'll at least run the automated ones. I wouldn't call them anything very focused on testing rasterization but I can at least check off that concern .. And yes, I'll make time to review it. -phil. On 11/08/2017 01:55 PM, Laurent Bourg?s wrote: Kevin & Phil, Some news on that issue: I successfully managed to finish the Path clipping support in Marlin 0.8.2 (release last week): https://github.com/bourgesl/marlin-renderer/releases/tag/v0.8.2 I fixed few remaining bugs in either Stroker (1) and in PathClipFilter (2) to have proper & tested clipping in Marlin renderer (2D). It now works perfectly with either NZ or EO winding rules. To ensure detecting any artefact between Clipping Off vs On, I implemented a 'basher' test (as recommended by Jim) that renderers 10 000 random polygons (5 -> 9 -> 50 line segments or mixed with line / quads / cubics) ( whose point coordinates are in [-50 to 150] ) to a 100x100 buffered image with or without clipping enabled (using a system property at runtime). Of course, all output pixels are compared and any pixel difference is considered as a failure. The new ShapeClipTests tests all stroke combinations (cap / join / with or without dashes / closed or not / EO or NZ rule) and also fills (closed or not / EO or NZ rule) => 170 tests run OK I need some time to synchronize MarlinFX and then with either OpenJDK forrest (new) or OpenJFX10. If you want the new automated test (long run ~ 20 minutes), I need some time to refactor it as it uses some code from my MapBench tool and have a standalone test class. Will you have time to review such (medium) changes in Marlin2D (Phil ?) and / or MarlinFX (Kevin ?) before the deadline (dec 14th) ? I said 'medium' as the code is quite simple to read but the new CG algorithms to ignore / discard useless path elements are cool but not obvious. Please tell me if you have time and if you prefer a combined (JDK / JFX) webrev or start with 2D or JFX. Cheers, Laurent 2017-09-07 8:52 GMT+02:00 Laurent Bourg?s : > Hi Kevin, > > Ok I propose to withdraw or postpone this review after JavaOne where we > will be able to discuss in a face to face meeting about Marlin & MarlinFX > changes for JDK10. > > I hope the 2d / jfx groups have other Graphics Guru to help, as good as > Jim Graham. > > Cheers, > Laurent > > Le 6 sept. 2017 16:23, "Kevin Rushforth" a > ?crit : > >> Hi Laurent, >> >> Some combination of Phil, Sergey, and I will take a look at this when we >> can. Perhaps there might be others on these two lists who could lend a >> helping hand? >> >> -- Kevin > > From prem.balakrishnan at oracle.com Mon Nov 13 11:11:01 2017 From: prem.balakrishnan at oracle.com (Prem Balakrishnan) Date: Mon, 13 Nov 2017 03:11:01 -0800 (PST) Subject: [10] Review Request: JDK-8189732 :TextArea doesn't scroll to bottom when texts becomes long and vertical scrollbar appears Message-ID: <2a1b2e87-8c02-4665-ac67-2dfc31176117@default> Hi Kevin, Ajit Request you to review following fix: Bug: https://bugs.openjdk.java.net/browse/JDK-8189732 Webrev: http://cr.openjdk.java.net/~pkbalakr/fx/8189732/webrev.00/ Regards, Prem From alexander.matveev at oracle.com Mon Nov 13 21:26:24 2017 From: alexander.matveev at oracle.com (Alexander Matveev) Date: Mon, 13 Nov 2017 13:26:24 -0800 Subject: [10] Review request for 8187594: Media crashes with libavcodec 57 on Ubuntu 17.04 32-bit Message-ID: <10b2da88-9e8a-83b8-84a3-76f609aedf42@oracle.com> Hi Kevin and David, Please review the following: http://cr.openjdk.java.net/~almatvee/8187594/webrev.00 Fixed crash by preloading avplugin on separate thread on 32-bit Linux. Thanks, Alexander From kevin.rushforth at oracle.com Mon Nov 13 22:31:56 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 13 Nov 2017 14:31:56 -0800 Subject: [10] Review request for 8187594: Media crashes with libavcodec 57 on Ubuntu 17.04 32-bit In-Reply-To: <10b2da88-9e8a-83b8-84a3-76f609aedf42@oracle.com> References: <10b2da88-9e8a-83b8-84a3-76f609aedf42@oracle.com> Message-ID: <5A0A1D5C.9070008@oracle.com> Looks good. +1 -- Kevin Alexander Matveev wrote: > Hi Kevin and David, > > Please review the following: > http://cr.openjdk.java.net/~almatvee/8187594/webrev.00 > > Fixed crash by preloading avplugin on separate thread on 32-bit Linux. > > Thanks, > Alexander From paulrussell70 at gmail.com Tue Nov 14 14:38:35 2017 From: paulrussell70 at gmail.com (Paul Ray Russell) Date: Tue, 14 Nov 2017 14:38:35 +0000 Subject: openjfx-dev Digest, Vol 72, Issue 14 In-Reply-To: References: Message-ID: Ref: http://labonnesoupe.org/static/code/ I notice project Decora: are there any plans for JSL shader language support for JavaFX in the near future? Thanks, Best, Paul On 14 November 2017 at 12:00, wrote: > Send openjfx-dev mailing list submissions to > openjfx-dev at openjdk.java.net > > To subscribe or unsubscribe via the World Wide Web, visit > http://mail.openjdk.java.net/mailman/listinfo/openjfx-dev > or, via email, send a message with subject or body 'help' to > openjfx-dev-request at openjdk.java.net > > You can reach the person managing the list at > openjfx-dev-owner at openjdk.java.net > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of openjfx-dev digest..." > > > Today's Topics: > > 1. [10] Review request for 8187594: Media crashes with > libavcodec 57 on Ubuntu 17.04 32-bit (Alexander Matveev) > 2. Re: [10] Review request for 8187594: Media crashes with > libavcodec 57 on Ubuntu 17.04 32-bit (Kevin Rushforth) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 13 Nov 2017 13:26:24 -0800 > From: Alexander Matveev > To: David DeHaven , Kevin Rushforth > > Cc: openjfx-dev at openjdk.java.net > Subject: [10] Review request for 8187594: Media crashes with > libavcodec 57 on Ubuntu 17.04 32-bit > Message-ID: <10b2da88-9e8a-83b8-84a3-76f609aedf42 at oracle.com> > Content-Type: text/plain; charset=utf-8; format=flowed > > Hi Kevin and David, > > Please review the following: > http://cr.openjdk.java.net/~almatvee/8187594/webrev.00 > > Fixed crash by preloading avplugin on separate thread on 32-bit Linux. > > Thanks, > Alexander > > > ------------------------------ > > Message: 2 > Date: Mon, 13 Nov 2017 14:31:56 -0800 > From: Kevin Rushforth > To: Alexander Matveev > Cc: openjfx-dev at openjdk.java.net > Subject: Re: [10] Review request for 8187594: Media crashes with > libavcodec 57 on Ubuntu 17.04 32-bit > Message-ID: <5A0A1D5C.9070008 at oracle.com> > Content-Type: text/plain; charset=UTF-8; format=flowed > > Looks good. > > +1 > > -- Kevin > > > Alexander Matveev wrote: > > Hi Kevin and David, > > > > Please review the following: > > http://cr.openjdk.java.net/~almatvee/8187594/webrev.00 > > > > Fixed crash by preloading avplugin on separate thread on 32-bit Linux. > > > > Thanks, > > Alexander > > > End of openjfx-dev Digest, Vol 72, Issue 14 > ******************************************* > From prem.balakrishnan at oracle.com Wed Nov 15 07:11:15 2017 From: prem.balakrishnan at oracle.com (Prem Balakrishnan) Date: Tue, 14 Nov 2017 23:11:15 -0800 (PST) Subject: [10] Review Request: JDK-8184270 NullPointerException when using Combobox in combination with accessibility app Message-ID: <10468358-64de-4e33-81a6-6b324f4fe0a9@default> Hi Kevin, Ajit Request you to review following fix: Bug: https://bugs.openjdk.java.net/browse/JDK-8184270 Webrev: http://cr.openjdk.java.net/~pkbalakr/fx/Accessibility/8184270/webrev.00/ Regards, Prem From ajit.ghaisas at oracle.com Wed Nov 15 12:05:59 2017 From: ajit.ghaisas at oracle.com (Ajit Ghaisas) Date: Wed, 15 Nov 2017 04:05:59 -0800 (PST) Subject: [10] [8u] Review request : JDK-8189265 : Closing stage does not free internal resources Message-ID: <33b9b377-b6d2-4bba-91cf-94300a89f045@default> Hi Kevin, Request you to review following fix : Issue : https://bugs.openjdk.java.net/browse/JDK-8189265 Fix for JDK 10 : http://cr.openjdk.java.net/~aghaisas/fx/8189265/10/webrev.0/ Fix for JDK 8u : http://cr.openjdk.java.net/~aghaisas/fx/8189265/8u/webrev.0/ Regards, Ajit From paulrussell70 at gmail.com Wed Nov 15 15:59:36 2017 From: paulrussell70 at gmail.com (Paul Ray Russell) Date: Wed, 15 Nov 2017 15:59:36 +0000 Subject: Decora JSL shaders Message-ID: Sorry for resend. I'm not trying to spam, but I didn't change the subject of the email. Ref: http://labonnesoupe.org/static/code/ I notice project Decora: are there any plans for JSL shader language support for JavaFX in the near future? Thanks, On 15 November 2017 at 12:00, wrote: > Send openjfx-dev mailing list submissions to > openjfx-dev at openjdk.java.net > > To subscribe or unsubscribe via the World Wide Web, visit > http://mail.openjdk.java.net/mailman/listinfo/openjfx-dev > or, via email, send a message with subject or body 'help' to > openjfx-dev-request at openjdk.java.net > > You can reach the person managing the list at > openjfx-dev-owner at openjdk.java.net > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of openjfx-dev digest..." > > > Today's Topics: > > 1. Re: openjfx-dev Digest, Vol 72, Issue 14 (Paul Ray Russell) > 2. [10] Review Request: JDK-8184270 NullPointerException when > using Combobox in combination with accessibility app > (Prem Balakrishnan) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Tue, 14 Nov 2017 14:38:35 +0000 > From: Paul Ray Russell > To: openjfx-dev at openjdk.java.net > Subject: Re: openjfx-dev Digest, Vol 72, Issue 14 > Message-ID: > Hd91cKhTTEBYUFQ at mail.gmail.com> > Content-Type: text/plain; charset="UTF-8" > > Ref: http://labonnesoupe.org/static/code/ > > I notice project Decora: are there any plans for JSL shader language > support for JavaFX in the near future? > > Thanks, > Best, > Paul > > On 14 November 2017 at 12:00, > wrote: > > > Send openjfx-dev mailing list submissions to > > openjfx-dev at openjdk.java.net > > > > To subscribe or unsubscribe via the World Wide Web, visit > > http://mail.openjdk.java.net/mailman/listinfo/openjfx-dev > > or, via email, send a message with subject or body 'help' to > > openjfx-dev-request at openjdk.java.net > > > > You can reach the person managing the list at > > openjfx-dev-owner at openjdk.java.net > > > > When replying, please edit your Subject line so it is more specific > > than "Re: Contents of openjfx-dev digest..." > > > > > > Today's Topics: > > > > 1. [10] Review request for 8187594: Media crashes with > > libavcodec 57 on Ubuntu 17.04 32-bit (Alexander Matveev) > > 2. Re: [10] Review request for 8187594: Media crashes with > > libavcodec 57 on Ubuntu 17.04 32-bit (Kevin Rushforth) > > > > > > ---------------------------------------------------------------------- > > > > Message: 1 > > Date: Mon, 13 Nov 2017 13:26:24 -0800 > > From: Alexander Matveev > > To: David DeHaven , Kevin Rushforth > > > > Cc: openjfx-dev at openjdk.java.net > > Subject: [10] Review request for 8187594: Media crashes with > > libavcodec 57 on Ubuntu 17.04 32-bit > > Message-ID: <10b2da88-9e8a-83b8-84a3-76f609aedf42 at oracle.com> > > Content-Type: text/plain; charset=utf-8; format=flowed > > > > Hi Kevin and David, > > > > Please review the following: > > http://cr.openjdk.java.net/~almatvee/8187594/webrev.00 > > > > Fixed crash by preloading avplugin on separate thread on 32-bit Linux. > > > > Thanks, > > Alexander > > > > > > ------------------------------ > > > > Message: 2 > > Date: Mon, 13 Nov 2017 14:31:56 -0800 > > From: Kevin Rushforth > > To: Alexander Matveev > > Cc: openjfx-dev at openjdk.java.net > > Subject: Re: [10] Review request for 8187594: Media crashes with > > libavcodec 57 on Ubuntu 17.04 32-bit > > Message-ID: <5A0A1D5C.9070008 at oracle.com> > > Content-Type: text/plain; charset=UTF-8; format=flowed > > > > Looks good. > > > > +1 > > > > -- Kevin > > > > > > Alexander Matveev wrote: > > > Hi Kevin and David, > > > > > > Please review the following: > > > http://cr.openjdk.java.net/~almatvee/8187594/webrev.00 > > > > > > Fixed crash by preloading avplugin on separate thread on 32-bit Linux. > > > > > > Thanks, > > > Alexander > > > > > > End of openjfx-dev Digest, Vol 72, Issue 14 > > ******************************************* > > > > > ------------------------------ > > Message: 2 > Date: Tue, 14 Nov 2017 23:11:15 -0800 (PST) > From: Prem Balakrishnan > To: Kevin Rushforth , "Ajit Haribhau > Ghaisas (ajit.ghaisas at oracle.com)" , > openjfx-dev at openjdk.java.net > Subject: [10] Review Request: JDK-8184270 NullPointerException when > using Combobox in combination with accessibility app > Message-ID: <10468358-64de-4e33-81a6-6b324f4fe0a9 at default> > Content-Type: text/plain; charset=us-ascii > > Hi Kevin, Ajit > > > > Request you to review following fix: > > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8184270 > > > > Webrev: http://cr.openjdk.java.net/~pkbalakr/fx/Accessibility/ > 8184270/webrev.00/ > > > > Regards, > > Prem > > > > > End of openjfx-dev Digest, Vol 72, Issue 15 > ******************************************* > From kevin.rushforth at oracle.com Wed Nov 15 16:47:07 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 15 Nov 2017 08:47:07 -0800 Subject: Decora JSL shaders In-Reply-To: References: Message-ID: <5A0C6F8B.2030206@oracle.com> The Decora project and JSL shaders are used internally by JavaFX to render 2D primitives and implement the node filter effects (javafx.scene.effect.*). There are no plans to provide support for JSL as part of the public API. -- Kevin Paul Ray Russell wrote: > Sorry for resend. I'm not trying to spam, but I didn't change the subject > of the email. > > Ref: http://labonnesoupe.org/static/code/ > > I notice project Decora: are there any plans for JSL shader language > support for JavaFX in the near future? > > Thanks, > From kevin.rushforth at oracle.com Wed Nov 15 20:43:41 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 15 Nov 2017 12:43:41 -0800 Subject: Result: New OpenJFX Committer: Ambarish Rapte Message-ID: <5A0CA6FD.60202@oracle.com> Voting for Ambarish Rapte [1] to OpenJFX Committer [2] is now closed. Yes: 9 Veto: 0 Abstain: 0 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. -- Kevin [1] http://openjdk.java.net/census#arapte [2] http://mail.openjdk.java.net/pipermail/openjfx-dev/2017-October/020941.html From alexander.matveev at oracle.com Wed Nov 15 21:36:39 2017 From: alexander.matveev at oracle.com (Alexander Matveev) Date: Wed, 15 Nov 2017 13:36:39 -0800 Subject: [8u] Review request for 8191335: Linux 32-bit build fails after fix for JDK-8187594 Message-ID: <8e303e38-209f-7392-064a-6d13a109f4ba@oracle.com> Hi Kevin, Please review the following: https://bugs.openjdk.java.net/browse/JDK-8191335 Fixed Linux 32-bit build failure. Thanks, Alexander From fastegal at swingempire.de Thu Nov 16 15:05:16 2017 From: fastegal at swingempire.de (fastegal at swingempire.de) Date: Thu, 16 Nov 2017 16:05:16 +0100 Subject: Support custom VirtualFlow in VirtualContainerBase ... now, please :) Message-ID: <20171116160516.Horde.Tp1FHTkeihYD_L2ZRT8d_g2@webmail.df.eu> Attempting to move https://bugs.openjdk.java.net/browse/JDK-8187379 up the list - I need it, really, really, really! And absolutely nothing - no tweak, no dirtyness, no wickedness - I can do until this is fixed :(( Hoping and crossing fingers, Jeanette From mp at jugs.org Thu Nov 16 15:28:27 2017 From: mp at jugs.org (Michael Paus) Date: Thu, 16 Nov 2017 16:28:27 +0100 Subject: Support custom VirtualFlow in VirtualContainerBase ... now, please :) In-Reply-To: <20171116160516.Horde.Tp1FHTkeihYD_L2ZRT8d_g2@webmail.df.eu> References: <20171116160516.Horde.Tp1FHTkeihYD_L2ZRT8d_g2@webmail.df.eu> Message-ID: <11b41083-1ac7-355d-a693-4b4ef245b414@jugs.org> Just for curiosity, would it be an option for you to patch this yourself in your code via the --patch-module mechanism of Java 9? I did something similar myself with SVGPath for example and it worked. Am 16.11.17 um 16:05 schrieb fastegal at swingempire.de: > > Attempting to move https://bugs.openjdk.java.net/browse/JDK-8187379 up > the list - I need it, really, really, really! And absolutely nothing - > no tweak, no dirtyness, no wickedness - I can do until this is fixed :(( > > Hoping and crossing fingers, Jeanette > From fastegal at swingempire.de Thu Nov 16 15:42:17 2017 From: fastegal at swingempire.de (fastegal at swingempire.de) Date: Thu, 16 Nov 2017 16:42:17 +0100 Subject: Support custom VirtualFlow in VirtualContainerBase ... now, please :) In-Reply-To: <11b41083-1ac7-355d-a693-4b4ef245b414@jugs.org> References: <20171116160516.Horde.Tp1FHTkeihYD_L2ZRT8d_g2@webmail.df.eu> <11b41083-1ac7-355d-a693-4b4ef245b414@jugs.org> Message-ID: <20171116164217.Horde.lMo_NdV3ap2mcA1IIvdeFQ7@webmail.df.eu> interesting ... never thought along those lines, really understanding modules is still on my todo-list ;) Zitat von Michael Paus : > Just for curiosity, would it be an option for you to patch this > yourself in your code > via the --patch-module mechanism of Java 9? I did something similar > myself with SVGPath for example > and it worked. > > Am 16.11.17 um 16:05 schrieb fastegal at swingempire.de: >> >> Attempting to move https://bugs.openjdk.java.net/browse/JDK-8187379 >> up the list - I need it, really, really, really! And absolutely >> nothing - no tweak, no dirtyness, no wickedness - I can do until >> this is fixed :(( >> >> Hoping and crossing fingers, Jeanette >> From kevin.rushforth at oracle.com Thu Nov 16 19:42:23 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 16 Nov 2017 11:42:23 -0800 Subject: [10] Review request: 8189111: Cannot build JavaFX modules with boot JDK that does not already include them Message-ID: <5A0DEA1F.10905@oracle.com> Phil, Please review the following to allow building the JavaFX modules with a boot JDK that doesn't have javafx.* modules: https://bugs.openjdk.java.net/browse/JDK-8189111 http://cr.openjdk.java.net/~kcr/8189111/webrev.00/ Details are in JBS. -- Kevin From alexander.matveev at oracle.com Thu Nov 16 22:29:33 2017 From: alexander.matveev at oracle.com (Alexander Matveev) Date: Thu, 16 Nov 2017 14:29:33 -0800 Subject: [10] Review request for 8188029: [macos] MediaView Crashes on OS X 10.13 High Sierra Message-ID: <273b555d-90e1-756c-fed5-51e87515ab3d@oracle.com> Hi Kevin and David, Please review the following: https://bugs.openjdk.java.net/browse/JDK-8188029 Fixed crash for HLS streams on OS X 10.13. Thanks, Alexander From alexander.matveev at oracle.com Fri Nov 17 04:24:54 2017 From: alexander.matveev at oracle.com (Alexander Matveev) Date: Thu, 16 Nov 2017 20:24:54 -0800 Subject: [10] Review request for 8176181: Improve docs for MediaPlayer.dispose and Status.DISPOSED Message-ID: <6c674691-f1d4-db06-3a1c-4309307eb867@oracle.com> Hi Kevin, Please review the following: https://bugs.openjdk.java.net/browse/JDK-8176181 Improved docs for DISPOSED status. Thanks, Alexander From robert.zenz at sibvisions.com Fri Nov 17 08:41:32 2017 From: robert.zenz at sibvisions.com (Robert Zenz) Date: Fri, 17 Nov 2017 08:41:32 +0000 Subject: Support custom VirtualFlow in VirtualContainerBase ... now, please :) In-Reply-To: <20171116160516.Horde.Tp1FHTkeihYD_L2ZRT8d_g2@webmail.df.eu> References: <20171116160516.Horde.Tp1FHTkeihYD_L2ZRT8d_g2@webmail.df.eu> Message-ID: <5A0EA0C2.1070802@sibvisions.com> Why is making a "forwarding" class in the same package not an option? Security settings? On 16.11.2017 16:05, fastegal at swingempire.de wrote: > > Attempting to move https://bugs.openjdk.java.net/browse/JDK-8187379 up the list > - I need it, really, really, really! And absolutely nothing - no tweak, no > dirtyness, no wickedness - I can do until this is fixed :(( > > Hoping and crossing fingers, Jeanette > From mp at jugs.org Fri Nov 17 09:02:22 2017 From: mp at jugs.org (Michael Paus) Date: Fri, 17 Nov 2017 10:02:22 +0100 Subject: Support custom VirtualFlow in VirtualContainerBase ... now, please :) In-Reply-To: <5A0EA0C2.1070802@sibvisions.com> References: <20171116160516.Horde.Tp1FHTkeihYD_L2ZRT8d_g2@webmail.df.eu> <5A0EA0C2.1070802@sibvisions.com> Message-ID: Am 17.11.17 um 09:41 schrieb Robert Zenz: > Why is making a "forwarding" class in the same package not an option? Security > settings? Wouldn't that result in a split package which is not allowed in Java 9? > > > On 16.11.2017 16:05, fastegal at swingempire.de wrote: >> Attempting to move https://bugs.openjdk.java.net/browse/JDK-8187379 up the list >> - I need it, really, really, really! And absolutely nothing - no tweak, no >> dirtyness, no wickedness - I can do until this is fixed :(( >> >> Hoping and crossing fingers, Jeanette From robert.zenz at sibvisions.com Fri Nov 17 09:08:15 2017 From: robert.zenz at sibvisions.com (Robert Zenz) Date: Fri, 17 Nov 2017 09:08:15 +0000 Subject: Support custom VirtualFlow in VirtualContainerBase ... now, please :) In-Reply-To: References: <20171116160516.Horde.Tp1FHTkeihYD_L2ZRT8d_g2@webmail.df.eu> <5A0EA0C2.1070802@sibvisions.com> Message-ID: <5A0EA705.3000202@sibvisions.com> Oh, Java 9...mh, not sure. Shouldn't these checks be disabled by default (at least until 10)? On 17.11.2017 10:02, Michael Paus wrote: > Am 17.11.17 um 09:41 schrieb Robert Zenz: >> Why is making a "forwarding" class in the same package not an option? Security >> settings? > Wouldn't that result in a split package which is not allowed in Java 9? >> >> >> On 16.11.2017 16:05, fastegal at swingempire.de wrote: >>> Attempting to move https://bugs.openjdk.java.net/browse/JDK-8187379 up the list >>> - I need it, really, really, really! And absolutely nothing - no tweak, no >>> dirtyness, no wickedness - I can do until this is fixed :(( >>> >>> Hoping and crossing fingers, Jeanette > > From mp at jugs.org Fri Nov 17 09:16:06 2017 From: mp at jugs.org (Michael Paus) Date: Fri, 17 Nov 2017 10:16:06 +0100 Subject: Support custom VirtualFlow in VirtualContainerBase ... now, please :) In-Reply-To: <5A0EA705.3000202@sibvisions.com> References: <20171116160516.Horde.Tp1FHTkeihYD_L2ZRT8d_g2@webmail.df.eu> <5A0EA0C2.1070802@sibvisions.com> <5A0EA705.3000202@sibvisions.com> Message-ID: <3591b432-9c83-3ad2-6441-081525588d05@jugs.org> Am 17.11.17 um 10:08 schrieb Robert Zenz: > Oh, Java 9...mh, not sure. Shouldn't these checks be disabled by default (at > least until 10)? I am using 10 already :-( but I haven't explicitly tried this because using --patch-module solves this problem anyway. > > > On 17.11.2017 10:02, Michael Paus wrote: >> Am 17.11.17 um 09:41 schrieb Robert Zenz: >>> Why is making a "forwarding" class in the same package not an option? Security >>> settings? >> Wouldn't that result in a split package which is not allowed in Java 9? >>> >>> On 16.11.2017 16:05, fastegal at swingempire.de wrote: >>>> Attempting to move https://bugs.openjdk.java.net/browse/JDK-8187379 up the list >>>> - I need it, really, really, really! And absolutely nothing - no tweak, no >>>> dirtyness, no wickedness - I can do until this is fixed :(( >>>> >>>> Hoping and crossing fingers, Jeanette From guru.hb at oracle.com Mon Nov 20 06:32:32 2017 From: guru.hb at oracle.com (Guru Hb) Date: Mon, 20 Nov 2017 12:02:32 +0530 Subject: [10] Review request: 8191035: WebView Canvas Graphics2D arc renders incorrectly Message-ID: <858F7310-04A1-4687-B67D-CB8637441C82@oracle.com> Hi Kevin, Arun, Please review JBS : https://bugs.openjdk.java.net/browse/JDK-8191035 Webrev : http://cr.openjdk.java.net/~ghb/8191035/webrev.00/ RC and solution update in JBS. Thanks, Guru From ajit.ghaisas at oracle.com Tue Nov 21 10:27:17 2017 From: ajit.ghaisas at oracle.com (Ajit Ghaisas) Date: Tue, 21 Nov 2017 02:27:17 -0800 (PST) Subject: [10] Review request : JDK-8187379 : VirtualContainerBase: createVirtualFlow must be protected Message-ID: Hi Kevin, Request you to review following fix : Issue : https://bugs.openjdk.java.net/browse/JDK-8187379 Fix for JDK 10 : http://cr.openjdk.java.net/~aghaisas/fx/8187379/webrev.0/ Regards, Ajit From tom.schindl at bestsolution.at Tue Nov 21 12:17:33 2017 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Tue, 21 Nov 2017 13:17:33 +0100 Subject: Resend - Major issues FXCanvas on Win32 with HiDPI Message-ID: <1d11b6a9-9170-ddd7-0952-1d6bce0b09b8@bestsolution.at> [resending because image in original mail is blocked] Hi, Emebedding JavaFX on a HiDPI-Windows computer is producing incorrect results on Java8 and Java9 - see screenshot to attached [1]. I see the following issues: JDK8: - If swt.autoscale is on (top-right) the Font-Size is invalid and eg. context-menus pop up at the wrong location - If swt.autoscale is off (top-center) the JavaFX embedded scene as it should be and conext menus open at the right position But this is not an option as other SWT-Areas who use the GC the don't renderer appropriately JDK9: - If swt.autoscale is on sizes look ok but the embedded scene is blurred and eg context-menu is at wrong position and has the wrong font-size - If swt.autoscale is off (bottom-center) the scene is too small but context-menu is at the wrong location I filed this as [1] but I'm writing here because I can not explain the difference between Java8 and Java9 and where I should start looking for a fix. I did not find anything in the mercurial history explaining that change. How likely is it that a changes in JDK9 to fix the problems with FXCanvas get backported to Java8? [1] https://bugs.openjdk.java.net/browse/JDK-8191661 Tom -- Thomas Schindl, CTO BestSolution.at EDV Systemhaus GmbH Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck http://www.bestsolution.at/ Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From kevin.rushforth at oracle.com Tue Nov 21 12:47:10 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 21 Nov 2017 04:47:10 -0800 Subject: [10] Review request : JDK-8187379 : VirtualContainerBase: createVirtualFlow must be protected In-Reply-To: References: Message-ID: <5A14204E.5040906@oracle.com> Hi Ajit, Thank you for looking into this. It seems a good addition to the API (as suggested by Jeanette W). We will need some unit tests for the new API, if possible. Also, the javadoc needs a bit of work. The description of createVirtualFlow looks good, but it is missing an '@return' and an '@since' tag. The getVirtualFlow() method could use a second sentence to indicate that subclasses can call this method to get the VirtualFlow instance. It is also missing an '@return' and '@since' tag. Please target this to 10, and file a CSR after updating the javadoc comments. Thanks. -- Kevin Ajit Ghaisas wrote: > Hi Kevin, > > Request you to review following fix : > > Issue : https://bugs.openjdk.java.net/browse/JDK-8187379 > > Fix for JDK 10 : http://cr.openjdk.java.net/~aghaisas/fx/8187379/webrev.0/ > > Regards, > Ajit > From kevin.rushforth at oracle.com Tue Nov 21 13:13:17 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 21 Nov 2017 05:13:17 -0800 Subject: Resend - Major issues FXCanvas on Win32 with HiDPI In-Reply-To: <1d11b6a9-9170-ddd7-0952-1d6bce0b09b8@bestsolution.at> References: <1d11b6a9-9170-ddd7-0952-1d6bce0b09b8@bestsolution.at> Message-ID: <5A14266D.6060900@oracle.com> Hi Tom, There were several Hi-DPI fixes that went into JDK 9. One of them was done as part of new API that was added, so that part cannot be backported, but other changes could be if a safe fix were found. As for finding the problem, the following bugs relating to Hi-DPI and interop, and fixed only in 9, might be worth looking at: https://bugs.openjdk.java.net/browse/JDK-8091832 (this is the main one) https://bugs.openjdk.java.net/browse/JDK-8160073 https://bugs.openjdk.java.net/browse/JDK-8146920 -- Kevin Tom Schindl wrote: > [resending because image in original mail is blocked] > > Hi, > > Emebedding JavaFX on a HiDPI-Windows computer is producing incorrect > results on Java8 and Java9 - see screenshot to attached [1]. > > I see the following issues: > > JDK8: > - If swt.autoscale is on (top-right) the Font-Size is invalid > and eg. context-menus pop up at the wrong location > - If swt.autoscale is off (top-center) the JavaFX > embedded scene as it should be and conext menus open at the right > position > > But this is not an option as other SWT-Areas who use the GC the don't > renderer appropriately > > JDK9: > - If swt.autoscale is on sizes look ok but the embedded scene is blurred > and eg context-menu is at wrong position and has the wrong font-size > > - If swt.autoscale is off (bottom-center) the scene is too small but > context-menu is at the wrong location > > I filed this as [1] but I'm > writing here because I can not explain the difference between Java8 and > Java9 and where I should start looking for a fix. > > I did not find anything in the mercurial history explaining that change. > How likely is it that a changes in JDK9 to fix the problems with > FXCanvas get backported to Java8? > > [1] https://bugs.openjdk.java.net/browse/JDK-8191661 > > > Tom > > > > From victor.drozdov at oracle.com Tue Nov 21 19:52:13 2017 From: victor.drozdov at oracle.com (victor.drozdov at oracle.com) Date: Tue, 21 Nov 2017 11:52:13 -0800 Subject: [10] Review request: 8190758: javapackager fails to consider filesystem type Message-ID: <64103bb3-444c-a583-d155-6dfdae568f29@oracle.com> Kevin, Please review my changes about filesystem type for .dmg JIRA: https://bugs.openjdk.java.net/browse/JDK-8190758 Webrev:http://cr.openjdk.java.net/~vdrozdov/JDK-8190758/webrev.00/ --Victor From tom.schindl at bestsolution.at Tue Nov 21 21:00:02 2017 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Tue, 21 Nov 2017 22:00:02 +0100 Subject: Resend - Major issues FXCanvas on Win32 with HiDPI In-Reply-To: <5A14266D.6060900@oracle.com> References: <1d11b6a9-9170-ddd7-0952-1d6bce0b09b8@bestsolution.at> <5A14266D.6060900@oracle.com> Message-ID: Hi Kevin, I took a look and was able to come up with fixes for JDK8 (works in all my test cases) and JDK9 (improves the situation but I always get same DPI no matter what scaling I use) but it at least it improves the situation. I'd highly appreciate if someone could take a look at the the issue! Tom Am 2017-11-21 14:13, schrieb Kevin Rushforth: > Hi Tom, > > There were several Hi-DPI fixes that went into JDK 9. One of them was > done as part of new API that was added, so that part cannot be > backported, but other changes could be if a safe fix were found. > > As for finding the problem, the following bugs relating to Hi-DPI and > interop, and fixed only in 9, might be worth looking at: > > https://bugs.openjdk.java.net/browse/JDK-8091832 (this is the main one) > https://bugs.openjdk.java.net/browse/JDK-8160073 > https://bugs.openjdk.java.net/browse/JDK-8146920 > > -- Kevin > > > Tom Schindl wrote: >> [resending because image in original mail is blocked] >> >> Hi, >> >> Emebedding JavaFX on a HiDPI-Windows computer is producing incorrect >> results on Java8 and Java9 - see screenshot to attached [1]. >> >> I see the following issues: >> >> JDK8: >> - If swt.autoscale is on (top-right) the Font-Size is invalid >> and eg. context-menus pop up at the wrong location >> - If swt.autoscale is off (top-center) the JavaFX >> embedded scene as it should be and conext menus open at the right >> position >> >> But this is not an option as other SWT-Areas who use the GC the >> don't >> renderer appropriately >> >> JDK9: >> - If swt.autoscale is on sizes look ok but the embedded scene is >> blurred >> and eg context-menu is at wrong position and has the wrong font-size >> >> - If swt.autoscale is off (bottom-center) the scene is too small but >> context-menu is at the wrong location >> >> I filed this as [1] but I'm >> writing here because I can not explain the difference between Java8 >> and >> Java9 and where I should start looking for a fix. >> >> I did not find anything in the mercurial history explaining that >> change. >> How likely is it that a changes in JDK9 to fix the problems with >> FXCanvas get backported to Java8? >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8191661 >> >> >> Tom >> >> >> >> From kevin.rushforth at oracle.com Tue Nov 21 21:57:54 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 21 Nov 2017 13:57:54 -0800 Subject: Resend - Major issues FXCanvas on Win32 with HiDPI In-Reply-To: References: <1d11b6a9-9170-ddd7-0952-1d6bce0b09b8@bestsolution.at> <5A14266D.6060900@oracle.com> Message-ID: <5A14A162.7010405@oracle.com> Hi Tom, The JDK 9 patch would need to be done for JDK 10, but otherwise, this sounds good. I'll take a look at this soon (when I have my Windows 10 HiDPI machine in front of me). -- Kevin Tom Schindl wrote: > Hi Kevin, > > I took a look and was able to come up with fixes for JDK8 (works in > all my test cases) and JDK9 (improves the situation but I always get > same DPI no matter what scaling I use) but it at least it improves the > situation. > > I'd highly appreciate if someone could take a look at the the issue! > > Tom > > Am 2017-11-21 14:13, schrieb Kevin Rushforth: >> Hi Tom, >> >> There were several Hi-DPI fixes that went into JDK 9. One of them was >> done as part of new API that was added, so that part cannot be >> backported, but other changes could be if a safe fix were found. >> >> As for finding the problem, the following bugs relating to Hi-DPI and >> interop, and fixed only in 9, might be worth looking at: >> >> https://bugs.openjdk.java.net/browse/JDK-8091832 (this is the main one) >> https://bugs.openjdk.java.net/browse/JDK-8160073 >> https://bugs.openjdk.java.net/browse/JDK-8146920 >> >> -- Kevin >> >> >> Tom Schindl wrote: >>> [resending because image in original mail is blocked] >>> >>> Hi, >>> >>> Emebedding JavaFX on a HiDPI-Windows computer is producing incorrect >>> results on Java8 and Java9 - see screenshot to attached [1]. >>> >>> I see the following issues: >>> >>> JDK8: >>> - If swt.autoscale is on (top-right) the Font-Size is invalid >>> and eg. context-menus pop up at the wrong location >>> - If swt.autoscale is off (top-center) the JavaFX >>> embedded scene as it should be and conext menus open at the right >>> position >>> >>> But this is not an option as other SWT-Areas who use the GC the don't >>> renderer appropriately >>> >>> JDK9: >>> - If swt.autoscale is on sizes look ok but the embedded scene is >>> blurred >>> and eg context-menu is at wrong position and has the wrong font-size >>> >>> - If swt.autoscale is off (bottom-center) the scene is too small but >>> context-menu is at the wrong location >>> >>> I filed this as [1] but I'm >>> writing here because I can not explain the difference between Java8 and >>> Java9 and where I should start looking for a fix. >>> >>> I did not find anything in the mercurial history explaining that >>> change. >>> How likely is it that a changes in JDK9 to fix the problems with >>> FXCanvas get backported to Java8? >>> >>> [1] https://bugs.openjdk.java.net/browse/JDK-8191661 >>> >>> >>> Tom >>> >>> >>> >>> From kevin.rushforth at oracle.com Wed Nov 22 15:49:07 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 22 Nov 2017 07:49:07 -0800 Subject: [10] Review request: 8178275: Ensemble: Upgrade version of Lucene to 7.1.0 Message-ID: <5A159C73.4000808@oracle.com> Please review the following fix to upgrade the version of Lucene used by the Ensemble sample to the most recent release of Lucene, which is 7.1.0: https://bugs.openjdk.java.net/browse/JDK-8178275 http://cr.openjdk.java.net/~kcr/8178275/webrev.00/ Details are in JBS. -- Kevin From javafx at use.startmail.com Sat Nov 25 23:40:42 2017 From: javafx at use.startmail.com (javafx at use.startmail.com) Date: Sat, 25 Nov 2017 18:40:42 -0500 Subject: Text classes Message-ID: <661862520bbcb12145e3f62a982cdea3.startmail@www.startmail.com> Hi, This is a question about the future of Text under Javafx. Very briefly, Swing provided access to everything a dev could need in order to write a rich text editor from scratch. LineBreakMeasurers and HitTesting and everything.? In JavaFX these things are not directly available to the dev and anyway, to the extent that they are, they cannot be used to write a rich text editor.. There are many classes needed involving the measuring of glyphs and text lines etc etc etc which would be needed for anyone who wanted to write their own rich text editor. They exist, but are under sun.com and given the modularization of Java 9 are truly inaccessible to developers.? I am aware of the existing Javafx controls. I am also aware of the efforts available at GitHub and elsewhere to create a rich text editor and all of them without exception are handicapped by this same lack of API. I am also aware of HTMLEditor in JavaFX but that 1) commits the dev to WebRenderer and 2) still doesn't provide access to the needed classes and methods. It's not sufficient to suppose that HTML 5 or whatever follows is the answer to all text layout challenges.? Formerly, Swing had all these missing features available as API and many good text editors were created using those APIs. For the sake of future planning, we really need to know- is there any recognition within Oracle that this is something which has to be addressed? Is it on any hypothetical roadmap?? Or is HTMLEditor as much as JavaFX is going to provide ? Thank you.? From johnvalrose at gmail.com Sun Nov 26 00:07:28 2017 From: johnvalrose at gmail.com (John-Val Rose) Date: Sun, 26 Nov 2017 11:07:28 +1100 Subject: Text classes In-Reply-To: <661862520bbcb12145e3f62a982cdea3.startmail@www.startmail.com> References: <661862520bbcb12145e3f62a982cdea3.startmail@www.startmail.com> Message-ID: <31AF8FAF-C3C5-484E-A2B7-7024320F5EB0@gmail.com> +1 A full-featured API to enable rich text and syntax highlighting in editors is *very* much needed. All the attempts I have seen at creating such editors with JavaFX are basically ?fudges?. I have never seen HTMLEditor used in a real-world application. > On 26 Nov 2017, at 10:40, javafx at use.startmail.com wrote: > > Hi, This is a question about the future of Text under Javafx. > > Very briefly, Swing provided access to everything a dev could need in order to write a rich text editor from scratch. LineBreakMeasurers and HitTesting and everything. > > In JavaFX these things are not directly available to the dev and anyway, to the extent that they are, they cannot be used to write a rich text editor.. > > There are many classes needed involving the measuring of glyphs and text lines etc etc etc which would be needed for anyone who wanted to write their own rich text editor. They exist, but are under sun.com and given the modularization of Java 9 are truly inaccessible to developers. > > I am aware of the existing Javafx controls. I am also aware of the efforts available at GitHub and elsewhere to create a rich text editor and all of them without exception are handicapped by this same lack of API. > > I am also aware of HTMLEditor in JavaFX but that 1) commits the dev to WebRenderer and 2) still doesn't provide access to the needed classes and methods. It's not sufficient to suppose that HTML 5 or whatever follows is the answer to all text layout challenges. > > Formerly, Swing had all these missing features available as API and many good text editors were created using those APIs. > > For the sake of future planning, we really need to know- is there any recognition within Oracle that this is something which has to be addressed? Is it on any hypothetical roadmap? Or is HTMLEditor as much as JavaFX is going to provide ? > > Thank you. From itaisha at gmail.com Sun Nov 26 08:16:57 2017 From: itaisha at gmail.com (Itai) Date: Sun, 26 Nov 2017 10:16:57 +0200 Subject: System font fails to load on Windows 7 - possible causes/fixes? Message-ID: I have recently come across a problem where some systems don't show Hebrew glyphs using JavaFX, where all other programs run perfectly fine. Changing the system font seems to be a workaround, but this is undesirable from the user's standpoint. At first I thought it was some issue with font substitution, so I ran the program with the option `-Dprism.debugfonts=true`, and apparently JavaFX completely fails to load the defined system fonts (which are the Windows 7 standard, Segoe UI). I'm getting a lot of : **** Failed to map IDWriteFont to Prism **** What can be the cause for this, and how do I go about further diagnosing the issue? I suppose this is some bug, but I'm not sure where or what exactly it is, so I don't know what details to give in a bug report. Attached is the full log of running with `-Dprism.debugfonts=true`. Thanks, Itai. -------------- next part -------------- Loading FontFactory com.sun.javafx.font.directwrite.DWFactory Subpixel: enabled Temp file created: C:\Users\user\AppData\Local\Temp\+JXF7252213042545373012.tmp Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" Windows Locale ID=1033 *** WINDOWS FONTS BEFORE RESOLVING font=constantia file=CONSTAN.TTF font=microsoft phagspa bold file=phagspab.ttf font=guttman haim-condensed file=GHAIMC.TTF font=bauhaus 93 file=BAUHS93.TTF font=garamond file=GARA.TTF font=cordiaupc file=CORDIAU.TTF font=kodchiangupc file=upckl.ttf font=consolas italic file=consolai.ttf font=bodoni mt condensed file=BOD_CR.TTF font=swiss 721 black bt file=swissk.ttf font=simplified arabic fixed file=simpfxo.ttf font=microsoft yi baiti file=msyi.ttf font=old english text mt file=OLDENGL.TTF font=sansserif bold file=sanssb__.ttf font=dotum file=gulim.ttc font=browalliaupc italic file=browaui.ttf font=microsoft jhenghei ui file=MSJH.TTC font=complex file=complex_.ttf font=candara bold file=CANDARAB.TTF font=angsana new bold italic file=angsaz.ttf font=verdana bold italic file=verdanaz.ttf font=impact file=impact.ttf font=gautami bold file=gautamib.ttf font=utsaah file=utsaah.ttf font=simsun file=simsun.ttc font=cooper black file=COOPBL.TTF font=palace script mt file=PALSCRI.TTF font=raavi file=raavi.ttf font=kartika bold file=kartikab.ttf font=papyrus file=PAPYRUS.TTF font=tunga bold file=tungab.ttf font=meiryo italic file=meiryo.ttc font=shonar bangla bold file=Shonarb.ttf font=bodoni mt condensed bold italic file=BOD_CBI.TTF font=dilleniaupc italic file=upcdi.ttf font=guttman-courmir file=MIRFX.TTF font=lucida handwriting italic file=LHANDW.TTF font=magneto bold file=MAGNETOB.TTF font=dfkai-sb file=kaiu.ttf font=gadugi file=GADUGI.TTF font=vivaldi italic file=VIVALDII.TTF font=felix titling file=FELIXTI.TTF font=franklin gothic heavy file=FRAHV.TTF font=trebuchet ms file=trebuc.ttf font=guttman stam1 file=STAM1.TTF font=matura mt script capitals file=MATURASC.TTF font=isocteur italic file=isocteui.ttf font=bookshelf symbol 7 file=BSSYM7.TTF font=levenim mt bold file=lvnmbd.ttf font=lucida bright demibold file=LBRITED.TTF font=bodoni mt italic file=BOD_I.TTF font=meiryo file=meiryo.ttc font=dutch 801 italic bt file=dutchi.ttf font=haettenschweiler file=HATTEN.TTF font=tw cen mt bold italic file=TCBI____.TTF font=calisto mt file=CALIST.TTF font=script mt bold file=SCRIPTBL.TTF font=swiss 721 bold extended bt file=swisseb.ttf font=browalliaupc bold file=browaub.ttf font=bookman old style bold italic file=BOOKOSBI.TTF font=bodoni mt bold file=BOD_B.TTF font=euroroman file=eurr____.ttf font=guttman vilna file=VILNA.TTF font=monospace 821 bold italic bt file=monosbi.ttf font=freesiaupc italic file=upcfi.ttf font=franklin gothic demi cond file=FRADMCN.TTF font=lucida bright italic file=LBRITEI.TTF font=century schoolbook italic file=SCHLBKI.TTF font=perpetua bold file=PERB____.TTF font=guttman yad-brush file=GYADBR.TTF font=moolboran file=moolbor.ttf font=panroman file=panroman.ttf font=kalinga file=kalinga.ttf font=lao ui bold file=Laouib.ttf font=sansserif file=sanss___.ttf font=franklin gothic book italic file=FRABKIT.TTF font=monospace 821 bold bt file=monosb.ttf font=euphemia file=euphemia.ttf font=constantia bold file=CONSTANB.TTF font=parchment file=PARCHM.TTF font=broadway file=BROADW.TTF font=ms ui gothic file=msgothic.ttc font=gill sans mt bold italic file=GILBI___.TTF font=perpetua titling mt light file=PERTILI.TTF font=mingliu-extb file=mingliub.ttc font=microsoft tai le file=taile.ttf font=consolas bold italic file=consolaz.ttf font=aparajita file=aparaj.ttf font=eras demi itc file=ERASDEMI.TTF font=perpetua titling mt bold file=PERTIBD.TTF font=algerian file=ALGER.TTF font=eras light itc file=ERASLGHT.TTF font=rockwell file=ROCK.TTF font=franklin gothic medium italic file=framdit.ttf font=meiryo ui bold italic file=meiryob.ttc font=shruti bold file=shrutib.ttf font=swiss 721 bold italic bt file=swissbi.ttf font=gisha bold file=gishabd.ttf font=goudy stout file=GOUDYSTO.TTF font=guttman drogolin file=DROGM.TTF font=euroroman oblique file=eurro___.ttf font=pmingliu-extb file=mingliub.ttc font=times new roman file=times.ttf font=swiss 721 light condensed italic bt file=swisscli.ttf font=simsun-extb file=simsunb.ttf font=informal roman file=INFROMAN.TTF font=chiller file=CHILLER.TTF font=kunstler script file=KUNSTLER.TTF font=tw cen mt italic file=TCMI____.TTF font=jasmineupc bold file=upcjb.ttf font=franklin gothic demi italic file=FRADMIT.TTF font=leelawadee bold file=leelawdb.ttf font=mangal file=mangal.ttf font=brush script mt italic file=BRUSHSCI.TTF font=calibri bold file=calibrib.ttf font=comic sans ms bold file=comicbd.ttf font=lucida fax italic file=LFAXI.TTF font=frankruehl file=frank.ttf font=meiryo ui bold file=meiryob.ttc font=isocpeur italic file=isocpeui.ttf font=elephant file=ELEPHNT.TTF font=perpetua bold italic file=PERBI___.TTF font=bodoni mt poster compressed file=BOD_PSTC.TTF font=gill sans mt ext condensed bold file=GLSNECB.TTF font=latha file=latha.ttf font=lucida sans demibold roman file=LSANSD.TTF font=maiandra gd file=MAIAN.TTF font=romantic file=romantic.ttf font=guttman rashi bold file=RASHIB.TTF font=monospace 821 bt file=monos.ttf font=ms mincho file=msmincho.ttc font=imprint mt shadow file=IMPRISHA.TTF font=vijaya file=vijaya.ttf font=stylus bt file=stylu.ttf font=lucida sans typewriter bold oblique file=LTYPEBO.TTF font=swiss 721 light extended bt file=swissel.ttf font=simhei file=simhei.ttf font=harlow solid italic file=HARLOWSI.TTF font=eucrosiaupc italic file=upcei.ttf font=franklin gothic heavy italic file=FRAHVIT.TTF font=guttman yad-light file=GYADXL.TTF font=microsoft yahei ui bold file=MSYHBD.TTC font=calibri bold italic file=calibriz.ttf font=guttman rashi file=RASHI.TTF font=showcard gothic file=SHOWG.TTF font=symeteo file=symeteo_.ttf font=book antiqua bold italic file=ANTQUABI.TTF font=century gothic italic file=GOTHICI.TTF font=footlight mt light file=FTLTLT.TTF font=century gothic bold file=GOTHICB.TTF font=lilyupc italic file=upcli.ttf font=bell mt italic file=BELLI.TTF font=rockwell extra bold file=ROCKEB.TTF font=isocpeur file=isocpeur.ttf font=cambria file=cambria.ttc font=onyx file=ONYX.TTF font=iskoola pota file=iskpota.ttf font=arial file=arial.ttf font=webdings file=webdings.ttf font=tw cen mt bold file=TCB_____.TTF font=segoe ui bold file=segoeuib.ttf font=lilyupc bold italic file=upclbi.ttf font=ms gothic file=msgothic.ttc font=bodoni mt bold italic file=BOD_BI.TTF font=guttman frank bold file=FRANKB.TTF font=baskerville old face file=BASKVILL.TTF font=monotxt file=monotxt_.ttf font=aharoni bold file=ahronbd.ttf font=elephant italic file=ELEPHNTI.TTF font=eucrosiaupc file=upcel.ttf font=century gothic bold italic file=GOTHICBI.TTF font=nsimsun file=simsun.ttc font=forte file=FORTE.TTF font=techniclite file=techl___.ttf font=consolas bold file=consolab.ttf font=gill sans mt condensed file=GILC____.TTF font=verdana bold file=verdanab.ttf font=eras medium itc file=ERASMD.TTF font=traditional arabic bold file=tradbdo.ttf font=palatino linotype file=pala.ttf font=irisupc bold italic file=upcibi.ttf font=eras bold itc file=ERASBD.TTF font=franklin gothic book file=FRABK.TTF font=playbill file=PLAYBILL.TTF font=browallia new italic file=browai.ttf font=latha bold file=lathab.ttf font=bodoni mt condensed italic file=BOD_CI.TTF font=calisto mt italic file=CALISTI.TTF font=tunga file=tunga.ttf font=book antiqua bold file=ANTQUAB.TTF font=microsoft new tai lue file=ntailu.ttf font=estrangelo edessa file=estre.ttf font=rockwell italic file=ROCKI.TTF font=mingliu file=mingliu.ttc font=pristina file=PRISTINA.TTF font=gisha file=gisha.ttf font=french script mt file=FRSCRIPT.TTF font=trebuchet ms italic file=trebucit.ttf font=century schoolbook bold file=SCHLBKB.TTF font=microsoft himalaya file=himalaya.ttf font=utsaah italic file=utsaahi.ttf font=segoe script file=segoesc.ttf font=angsana new file=angsa.ttf font=gulimche file=gulim.ttc font=bell mt bold file=BELLB.TTF font=arial narrow bold italic file=ARIALNBI.TTF font=gill sans mt file=GIL_____.TTF font=kristen itc file=ITCKRIST.TTF font=bradley hand itc file=BRADHITC.TTF font=calibri file=calibri.ttf font=batang file=batang.ttc font=cordia new file=cordia.ttf font=calibri light file=calibril.ttf font=freesiaupc file=upcfl.ttf font=century file=CENTURY.TTF font=browalliaupc file=browau.ttf font=gigi file=GIGI.TTF font=symath file=symath__.ttf font=cordia new bold italic file=cordiaz.ttf font=wingdings file=wingding.ttf font=nirmala ui file=NIRMALA.TTF font=guttman logo1 file=LOGO1.TTF font=romantic bold file=romab___.ttf font=shonar bangla file=Shonar.ttf font=cityblueprint file=cityb___.ttf font=century schoolbook bold italic file=SCHLBKBI.TTF font=vani file=Vani.ttf font=harrington file=HARNGTON.TTF font=gungsuhche file=batang.ttc font=guttman miryam bold file=MIRB.TTF font=sansserif boldoblique file=sanssbo_.ttf font=kaiti file=simkai.ttf font=garamond bold file=GARABD.TTF font=guttman drogolin bold file=DROGB.TTF font=copperplate gothic light file=COPRGTL.TTF font=high tower text file=HTOWERT.TTF font=courier new bold file=courbd.ttf font=lucida sans typewriter bold file=LTYPEB.TTF font=nyala file=nyala.TTF font=verdana italic file=verdanai.ttf font=italict file=italict_.ttf font=courier new bold italic file=courbi.ttf font=meiryo bold file=meiryob.ttc font=raavi bold file=raavib.ttf font=kokila bold file=kokilab.ttf font=guttman hatzvi bold file=TZVIB.TTF font=lucida fax demibold italic file=LFAXDI.TTF font=viner hand itc file=VINERITC.TTF font=swiss 721 bold outline bt file=swissbo.ttf font=tahoma bold file=tahomabd.ttf font=mistral file=MISTRAL.TTF font=mangal bold file=mangalb.ttf font=browallia new bold file=browab.ttf font=rod file=rod.ttf font=vineta bt file=vinet.ttf font=simplex file=simplex_.ttf font=mingliu_hkscs-extb file=mingliub.ttc font=guttman mantova bold file=MANTB.TTF font=superfrench file=supef___.ttf font=lilyupc bold file=upclb.ttf font=cambria math file=cambria.ttc font=arial italic file=ariali.ttf font=mingliu_hkscs file=mingliu.ttc font=guttman hatzvi file=TZVIM.TTF font=italicc file=italicc_.ttf font=berlin sans fb demi bold file=BRLNSDB.TTF font=guttman aharoni file=GAHROM.TTF font=ebrima file=ebrima.ttf font=cambria bold italic file=cambriaz.ttf font=countryblueprint file=counb___.ttf font=dutch 801 roman bt file=dutch.ttf font=guttman haim file=GHAIM.TTF font=colonna mt file=COLONNA.TTF font=shruti file=shruti.ttf font=technic file=technic_.ttf font=lucida fax regular file=LFAX.TTF font=microsoft jhenghei bold file=MSJHBD.TTC font=constantia italic file=CONSTANI.TTF font=microsoft yahei ui file=MSYH.TTC font=berlin sans fb bold file=BRLNSB.TTF font=rage italic file=RAGE.TTF font=angsanaupc file=angsau.ttf font=georgia italic file=georgiai.ttf font=ravie file=RAVIE.TTF font=bodoni mt file=BOD_R.TTF font=franklin gothic medium file=framd.ttf font=berlin sans fb file=BRLNSR.TTF font=verdana file=verdana.ttf font=ms reference sans serif file=REFSAN.TTF font=sakkal majalla bold file=majallab.ttf font=amgdt file=AMGDT___.ttf font=corbel file=CORBEL.TTF font=georgia bold file=georgiab.ttf font=times new roman bold italic file=timesbi.ttf font=freestyle script file=FREESCPT.TTF font=vrinda bold file=vrindab.ttf font=traditional arabic file=trado.ttf font=segoe ui semibold file=seguisb.ttf font=angsana new italic file=angsai.ttf font=levenim mt file=lvnm.ttf font=eucrosiaupc bold italic file=upcebi.ttf font=microsoft uighur bold file=MSUIGHUB.TTF font=bank gothic medium bt file=bgothm.ttf font=aparajita italic file=aparaji.ttf font=lucida sans italic file=LSANSI.TTF font=tw cen mt file=TCM_____.TTF font=gloucester mt extra condensed file=GLECB.TTF font=guttman kav file=GKAVMED.TTF font=swiss 721 italic bt file=swissi.ttf font=niagara solid file=NIAGSOL.TTF font=microsoft yahei file=MSYH.TTC font=leelawadee file=leelawad.ttf font=cordiaupc bold file=CORDIAUB.TTF font=scriptc file=scriptc_.ttf font=dokchampa file=dokchamp.ttf font=franklin gothic demi file=FRADM.TTF font=monospace 821 italic bt file=monosi.ttf font=cordiaupc bold italic file=CORDIAUZ.TTF font=kodchiangupc bold italic file=upckbi.ttf font=dutch 801 bold bt file=dutchb.ttf font=palatino linotype italic file=palai.ttf font=palatino linotype bold file=palab.ttf font=swiss 721 black condensed bt file=swissck.ttf font=calisto mt bold italic file=CALISTBI.TTF font=tw cen mt condensed bold file=TCCB____.TTF font=batangche file=batang.ttc font=guttman frnew file=FRNEW.TTF font=fangsong file=simfang.ttf font=pmingliu file=mingliu.ttc font=angsanaupc bold file=angsaub.ttf font=vijaya bold file=vijayab.ttf font=aparajita bold file=aparajb.ttf font=ms outlook file=OUTLOOK.TTF font=isoct file=isoct___.ttf font=gabriola file=Gabriola.ttf font=isocp file=isocp___.ttf font=guttman stam file=STAM.TTF font=kokila file=kokila.ttf font=rockwell bold file=ROCKB.TTF font=dutch 801 bold italic bt file=dutchbi.ttf font=swiss 721 black extended bt file=swissek.ttf font=nirmala ui bold file=NIRMALAB.TTF font=kartika file=kartika.ttf font=amdtsymbols file=AMDT_Symbols.ttf font=microsoft jhenghei file=MSJH.TTC font=palatino linotype bold italic file=palabi.ttf font=swiss 721 bold bt file=swissb.ttf font=garamond italic file=GARAIT.TTF font=book antiqua italic file=ANTQUAI.TTF font=guttman kav bold file=GKAVBLD.TTF font=daunpenh file=daunpenh.ttf font=khmer ui file=khmerui.ttf font=eucrosiaupc bold file=upceb.ttf font=castellar file=CASTELAR.TTF font=narkisim file=nrkis.ttf font=sylfaen file=sylfaen.ttf font=meiryo bold italic file=meiryob.ttc font=californian fb file=CALIFR.TTF font=malgun gothic bold file=malgunbd.ttf font=georgia bold italic file=georgiaz.ttf font=bank gothic light bt file=bgothl.ttf font=swiss 721 bold condensed italic bt file=swisscbi.ttf font=cordia new italic file=cordiai.ttf font=dilleniaupc file=upcdl.ttf font=txt file=txt_____.ttf font=angsanaupc italic file=angsaui.ttf font=times new roman italic file=timesi.ttf font=swiss 721 black outline bt file=swissko.ttf font=bookman old style file=BOOKOS.TTF font=dutch 801 extra bold bt file=dutcheb.ttf font=meiryo ui italic file=meiryo.ttc font=symbol file=symbol.ttf font=swiss 721 bold condensed bt file=swisscb.ttf font=century gothic file=GOTHIC.TTF font=aparajita bold italic(truetype) file=aparajbi.ttf font=tempus sans itc file=TEMPSITC.TTF font=guttman myamfix file=GMYAMFIX.TTF font=swiss 721 condensed italic bt file=swissci.ttf font=corbel italic file=CORBELI.TTF font=isoct3 file=isoct3__.ttf font=segoe print file=segoepr.ttf font=isoct2 file=isoct2__.ttf font=segoe ui light file=segoeuil.ttf font=britannic bold file=BRITANIC.TTF font=cambria italic file=cambriai.ttf font=romantic italic file=romai___.ttf font=proxy 8 file=mtproxy8.ttf font=proxy 9 file=mtproxy9.ttf font=proxy 6 file=mtproxy6.ttf font=utsaah bold file=utsaahb.ttf font=proxy 7 file=mtproxy7.ttf font=proxy 4 file=mtproxy4.ttf font=proxy 5 file=mtproxy5.ttf font=proxy 2 file=mtproxy2.ttf font=trebuchet ms bold file=trebucbd.ttf font=proxy 3 file=mtproxy3.ttf font=lucida sans regular file=LSANS.TTF font=rockwell condensed bold file=ROCCB___.TTF font=guttman mantova-decor file=MANTDEC.TTF font=stencil file=STENCIL.TTF font=lucida bright file=LBRITE.TTF font=guttman yad file=GYADL.TTF font=bernard mt condensed file=BERNHC.TTF font=agency fb bold file=AGENCYB.TTF font=kodchiangupc bold file=upckb.ttf font=malgun gothic file=malgun.ttf font=niagara engraved file=NIAGENG.TTF font=segoe ui semilight file=SEGOEUISL.TTF font=edwardian script itc file=ITCEDSCR.TTF font=book antiqua file=BKANT.TTF font=candara italic file=CANDARAI.TTF font=browalliaupc bold italic file=browauz.ttf font=kodchiangupc italic file=upcki.ttf font=cambria bold file=cambriab.ttf font=geniso file=GENISO.ttf font=californian fb italic file=CALIFI.TTF font=mongolian baiti file=monbaiti.ttf font=andalus file=andlso.ttf font=swiss 721 extended bt file=swisse.ttf font=romant file=romant__.ttf font=microsoft uighur file=msuighur.ttf font=irisupc file=upcil.ttf font=romans file=romans__.ttf font=simplified arabic file=simpo.ttf font=bodoni mt black file=BOD_BLAR.TTF font=curlz mt file=CURLZ___.TTF font=browallia new bold italic file=browaz.ttf font=ms reference specialty file=REFSPCL.TTF font=vrinda file=vrinda.ttf font=engravers mt file=ENGR.TTF font=wide latin file=LATINWD.TTF font=romand file=romand__.ttf font=romanc file=romanc__.ttf font=perpetua file=PER_____.TTF font=ebrima bold file=ebrimabd.ttf font=gill sans ultra bold file=GILSANUB.TTF font=sansserif oblique file=sansso__.ttf font=modern no. 20 file=MOD20.TTF font=bookman old style italic file=BOOKOSI.TTF font=segoe ui file=segoeui_0.ttf font=juice itc file=JUICE___.TTF font=arabic typesetting file=arabtype.ttf font=candara bold italic file=CANDARAZ.TTF font=gautami file=gautami.ttf font=syastro file=syastro_.ttf font=jokerman file=JOKERMAN.TTF font=khmer ui bold file=khmeruib.ttf font=copperplate gothic bold file=COPRGTB.TTF font=simplified arabic bold file=simpbdo.ttf font=hadassah friedlaender bold file=HADASAHB.TTF font=commercial script bt file=comsc.ttf font=angsanaupc bold italic file=angsauz.ttf font=swiss 721 bold condensed outline bt file=swisscbo.ttf font=lucida calligraphy italic file=LCALLIG.TTF font=dotumche file=gulim.ttc font=gulim file=gulim.ttc font=tw cen mt condensed extra bold file=TCCEB.TTF font=trebuchet ms bold italic file=trebucbi.ttf font=jasmineupc bold italic file=upcjbi.ttf font=goudy old style file=GOUDOS.TTF font=guttman kav-light file=GKAVLIT.TTF font=courier new italic file=couri.ttf font=arial rounded mt bold file=ARLRDBD.TTF font=agency fb file=AGENCYR.TTF font=kokila bold italic(truetype) file=kokilabi.ttf font=lao ui file=Laoui.ttf font=commercial pi bt file=compi.ttf font=calibri italic file=calibrii.ttf font=segoe ui symbol file=seguisym.ttf font=swiss 721 light bt file=swissl.ttf font=segoe ui italic file=segoeuii.ttf font=swiss 721 black italic bt file=swisski.ttf font=angsana new bold file=angsab.ttf font=freesiaupc bold file=upcfb.ttf font=swiss 721 light italic bt file=swissli.ttf font=arial bold file=arialbd.ttf font=microsoft phagspa file=phagspa.ttf font=cordia new bold file=cordiab.ttf font=hadassah friedlaender file=HADASAH.TTF font=iskoola pota bold file=iskpotab.ttf font=gothici file=gothici_.ttf font=gothicg file=gothicg_.ttf font=lucida sans typewriter regular file=LTYPE.TTF font=gothice file=gothice_.ttf font=arial black file=ariblk.ttf font=century schoolbook file=CENSCBK.TTF font=swiss 721 black condensed italic bt file=swisscki.ttf font=lucida sans typewriter oblique file=LTYPEO.TTF font=gdt file=gdt_____.ttf font=gungsuh file=batang.ttc font=swiss 721 light condensed bt file=swisscl.ttf font=ocr a extended file=OCRAEXT.TTF font=segoe ui bold italic file=segoeuiz.ttf font=gill sans mt italic file=GILI____.TTF font=guttman-aharoni bold file=AHROB.TTF font=blackadder itc file=ITCBLKAD.TTF font=corbel bold file=CORBELB.TTF font=poor richard file=POORICH.TTF font=greeks file=greeks__.ttf font=swiss 721 bt file=swiss.ttf font=goudy old style italic file=GOUDOSI.TTF font=wingdings 3 file=WINGDNG3.TTF font=wingdings 2 file=WINGDNG2.TTF font=vani bold file=Vanib.ttf font=guttman mantova file=MANTM.TTF font=greekc file=greekc__.ttf font=guttman-aram file=ARAM.TTF font=dilleniaupc bold italic file=upcdbi.ttf font=symusic file=symusic_.ttf font=lilyupc file=upcll.ttf font=sakkal majalla file=majalla.ttf font=guttman miryam light file=MIRL.TTF font=proxy 1 file=mtproxy1.ttf font=rockwell condensed file=ROCC____.TTF font=corbel bold italic file=CORBELZ.TTF font=technicbold file=techb___.ttf font=meiryo ui file=meiryo.ttc font=browallia new file=browa.ttf font=microsoft sans serif file=micross.ttf font=isocp3 file=isocp3__.ttf font=isocp2 file=isocp2__.ttf font=irisupc italic file=upcii.ttf font=lucida sans unicode file=l_10646.ttf font=bell mt file=BELL.TTF font=arial narrow italic file=ARIALNI.TTF font=goudy old style bold file=GOUDOSB.TTF font=gadugi bold file=GADUGIB.TTF font=irisupc bold file=upcib.ttf font=aigdt file=AIGDT___.TTF font=franklin gothic medium cond file=FRAMDCN.TTF font=kokila italic file=kokilai.ttf font=comic sans ms file=comic.ttf font=lucida bright demibold italic file=LBRITEDI.TTF font=perpetua italic file=PERI____.TTF font=italic file=italic__.ttf font=arial narrow bold file=ARIALNB.TTF font=georgia file=georgia.ttf font=ms pgothic file=msgothic.ttc font=bodoni mt black italic file=BOD_BLAI.TTF font=gill sans ultra bold condensed file=GILLUBCD.TTF font=snap itc file=SNAP____.TTF font=isocteur file=isocteur.ttf font=calibri light italic file=calibrili.ttf font=arial bold italic file=arialbi.ttf font=bookman old style bold file=BOOKOSB.TTF font=universal math 1 bt file=umath.ttf font=microsoft tai le bold file=taileb.ttf font=microsoft yahei bold file=MSYHBD.TTC font=arial narrow file=ARIALN.TTF font=consolas file=consola.ttf font=guttman vilna bold file=VILNAB.TTF font=miriam fixed file=mriamc.ttf font=freesiaupc bold italic file=upcfbi.ttf font=monotype corsiva file=MTCORSVA.TTF font=centaur file=CENTAUR.TTF font=microsoft new tai lue bold file=ntailub.ttf font=tahoma file=tahoma.ttf font=bodoni mt condensed bold file=BOD_CB.TTF font=jasmineupc file=upcjl.ttf font=rockwell bold italic file=ROCKBI.TTF font=symap file=symap___.ttf font=guttman frank file=GFRANK.TTF font=miriam file=mriam.ttf font=lucida sans demibold italic file=LSANSDI.TTF font=mt extra file=MTEXTRA.TTF font=acaderef file=AcadEref.ttf font=cordiaupc italic file=CORDIAUI.TTF font=lucida console file=lucon.TTF font=segoe script bold file=segoescb.ttf font=gill sans mt bold file=GILB____.TTF font=high tower text italic file=HTOWERTI.TTF font=vladimir script file=VLADIMIR.TTF font=ms pmincho file=msmincho.ttc font=plantagenet cherokee file=plantc.ttf font=jasmineupc italic file=upcji.ttf font=courier new file=cour.ttf font=david file=david.ttf font=david bold file=davidbd.ttf font=scripts file=scripts_.ttf font=utsaah bold italic(truetype) file=utsaahbi.ttf font=lucida fax demibold file=LFAXD.TTF font=microsoft jhenghei ui bold file=MSJHBD.TTC font=candara file=CANDARA.TTF font=mv boli file=mvboli.ttf font=calisto mt bold file=CALISTB.TTF font=tw cen mt condensed file=TCCM____.TTF font=swiss 721 condensed bt file=swissc.ttf font=constantia bold italic file=CONSTANZ.TTF font=times new roman bold file=timesbd.ttf font=segoe print bold file=segoeprb.ttf font=californian fb bold file=CALIFB.TTF font=dilleniaupc bold file=upcdb.ttf font=kalinga bold file=kalingab.ttf font=constantia family=Constantia font=microsoft phagspa bold family=Microsoft PhagsPa font=guttman haim-condensed family=Guttman Haim-Condensed font=bauhaus 93 family=Bauhaus 93 font=garamond family=Garamond font=cordiaupc family=CordiaUPC font=kodchiangupc family=KodchiangUPC font=consolas italic family=Consolas font=bodoni mt condensed family=Bodoni MT Condensed font=swiss 721 black bt family=Swis721 Blk BT font=simplified arabic fixed family=Simplified Arabic Fixed font=microsoft yi baiti family=Microsoft Yi Baiti font=old english text mt family=Old English Text MT font=sansserif bold family=SansSerif font=dotum family=Dotum font=browalliaupc italic family=BrowalliaUPC font=microsoft jhenghei ui family=Microsoft JhengHei UI font=complex family=Complex font=candara bold family=Candara font=angsana new bold italic family=Angsana New font=verdana bold italic family=Verdana font=iskoolapota-bold family=Iskoola Pota font=impact family=Impact font=gautami bold family=Gautami font=utsaah family=Utsaah font=simsun family=SimSun font=cooper black family=Cooper Black font=palace script mt family=Palace Script MT font=raavi family=Raavi font=kartika bold family=Kartika font=papyrus family=Papyrus font=tunga bold family=Tunga font=meiryo italic family=Meiryo font=shonar bangla bold family=Shonar Bangla font=bodoni mt condensed bold italic family=Bodoni MT Condensed font=dilleniaupc italic family=DilleniaUPC font=guttman-courmir family=Guttman-CourMir font=lucida handwriting italic family=Lucida Handwriting font=magneto bold family=Magneto font=dfkai-sb family=DFKai-SB font=gadugi family=Gadugi font=vivaldi italic family=Vivaldi font=felix titling family=Felix Titling font=franklin gothic heavy family=Franklin Gothic Heavy font=trebuchet ms family=Trebuchet MS font=guttman stam1 family=Guttman Stam1 font=matura mt script capitals family=Matura MT Script Capitals font=isocteur italic family=ISOCTEUR font=bookshelf symbol 7 family=Bookshelf Symbol 7 font=levenim mt bold family=Levenim MT font=lucida bright demibold family=Lucida Bright font=bodoni mt italic family=Bodoni MT font=meiryo family=Meiryo font=dutch 801 italic bt family=Dutch801 Rm BT font=haettenschweiler family=Haettenschweiler font=tw cen mt bold italic family=Tw Cen MT font=calisto mt family=Calisto MT font=script mt bold family=Script MT Bold font=swiss 721 bold extended bt family=Swis721 Ex BT font=browalliaupc bold family=BrowalliaUPC font=bookman old style bold italic family=Bookman Old Style font=bodoni mt bold family=Bodoni MT font=euroroman family=EuroRoman font=guttman vilna family=Guttman Vilna font=monospace 821 bold italic bt family=Monospac821 BT font=freesiaupc italic family=FreesiaUPC font=franklin gothic demi cond family=Franklin Gothic Demi Cond font=lucida bright italic family=Lucida Bright font=century schoolbook italic family=Century Schoolbook font=perpetua bold family=Perpetua font=guttman yad-brush family=Guttman Yad-Brush font=moolboran family=MoolBoran font=panroman family=PanRoman font=kalinga family=Kalinga font=lao ui bold family=Lao UI font=sansserif family=SansSerif font=franklin gothic book italic family=Franklin Gothic Book font=monospace 821 bold bt family=Monospac821 BT font=euphemia family=Euphemia font=constantia bold family=Constantia font=parchment family=Parchment font=broadway family=Broadway font=ms ui gothic family=MS UI Gothic font=gill sans mt bold italic family=Gill Sans MT font=perpetua titling mt light family=Perpetua Titling MT font=mingliu-extb family=MingLiU-ExtB font=microsoft tai le family=Microsoft Tai Le font=consolas bold italic family=Consolas font=aparajita family=Aparajita font=eras demi itc family=Eras Demi ITC font=perpetua titling mt bold family=Perpetua Titling MT font=algerian family=Algerian font=eras light itc family=Eras Light ITC font=rockwell family=Rockwell font=franklin gothic medium italic family=Franklin Gothic Medium font=meiryo ui bold italic family=Meiryo UI font=shruti bold family=Shruti font=swiss 721 bold italic bt family=Swis721 BT font=gisha bold family=Gisha font=goudy stout family=Goudy Stout font=guttman drogolin family=Guttman Drogolin font=euroroman oblique family=EuroRoman font=pmingliu-extb family=PMingLiU-ExtB font=times new roman family=Times New Roman font=swiss 721 light condensed italic bt family=Swis721 LtCn BT font=simsun-extb family=SimSun-ExtB font=informal roman family=Informal Roman font=chiller family=Chiller font=kunstler script family=Kunstler Script font=tw cen mt italic family=Tw Cen MT font=jasmineupc bold family=JasmineUPC font=franklin gothic demi italic family=Franklin Gothic Demi font=leelawadee bold family=Leelawadee font=mangal family=Mangal font=brush script mt italic family=Brush Script MT font=calibri bold family=Calibri font=comic sans ms bold family=Comic Sans MS font=lucida fax italic family=Lucida Fax font=frankruehl family=FrankRuehl font=meiryo ui bold family=Meiryo UI font=isocpeur italic family=ISOCPEUR font=elephant family=Elephant font=perpetua bold italic family=Perpetua font=bodoni mt poster compressed family=Bodoni MT Poster Compressed font=gill sans mt ext condensed bold family=Gill Sans MT Ext Condensed Bold font=latha family=Latha font=lucida sans demibold roman family=Lucida Sans font=maiandra gd family=Maiandra GD font=romantic family=Romantic font=guttman rashi bold family=Guttman Rashi font=monospace 821 bt family=Monospac821 BT font=ms mincho family=MS Mincho font=imprint mt shadow family=Imprint MT Shadow font=vijaya family=Vijaya font=stylus bt family=Stylus BT font=lucida sans typewriter bold oblique family=Lucida Sans Typewriter font=swiss 721 light extended bt family=Swis721 LtEx BT font=simhei family=SimHei font=harlow solid italic family=Harlow Solid Italic font=eucrosiaupc italic family=EucrosiaUPC font=franklin gothic heavy italic family=Franklin Gothic Heavy font=guttman yad-light family=Guttman Yad-Light font=microsoft yahei ui bold family=Microsoft YaHei UI font=calibri bold italic family=Calibri font=guttman rashi family=Guttman Rashi font=showcard gothic family=Showcard Gothic font=symeteo family=Symeteo font=book antiqua bold italic family=Book Antiqua font=century gothic italic family=Century Gothic font=footlight mt light family=Footlight MT Light font=century gothic bold family=Century Gothic font=lilyupc italic family=LilyUPC font=bell mt italic family=Bell MT font=rockwell extra bold family=Rockwell Extra Bold font=isocpeur family=ISOCPEUR font=cambria family=Cambria font=onyx family=Onyx font=iskoola pota family=Iskoola Pota font=arial family=Arial font=webdings family=Webdings font=tw cen mt bold family=Tw Cen MT font=segoe ui bold family=Segoe UI font=lilyupc bold italic family=LilyUPC font=ms gothic family=MS Gothic font=bodoni mt bold italic family=Bodoni MT font=guttman frank bold family=Guttman Frank font=baskerville old face family=Baskerville Old Face font=monotxt family=Monotxt font=aharoni bold family=Aharoni font=elephant italic family=Elephant font=eucrosiaupc family=EucrosiaUPC font=century gothic bold italic family=Century Gothic font=nsimsun family=NSimSun font=forte family=Forte font=techniclite family=TechnicLite font=consolas bold family=Consolas font=gill sans mt condensed family=Gill Sans MT Condensed font=verdana bold family=Verdana font=eras medium itc family=Eras Medium ITC font=traditional arabic bold family=Traditional Arabic font=palatino linotype family=Palatino Linotype font=irisupc bold italic family=IrisUPC font=eras bold itc family=Eras Bold ITC font=franklin gothic book family=Franklin Gothic Book font=playbill family=Playbill font=browallia new italic family=Browallia New font=latha bold family=Latha font=bodoni mt condensed italic family=Bodoni MT Condensed font=calisto mt italic family=Calisto MT font=tunga family=Tunga font=book antiqua bold family=Book Antiqua font=microsoft new tai lue family=Microsoft New Tai Lue font=estrangelo edessa family=Estrangelo Edessa font=rockwell italic family=Rockwell font=mingliu family=MingLiU font=pristina family=Pristina font=gisha family=Gisha font=french script mt family=French Script MT font=trebuchet ms italic family=Trebuchet MS font=century schoolbook bold family=Century Schoolbook font=microsoft himalaya family=Microsoft Himalaya font=utsaah italic family=Utsaah font=segoe script family=Segoe Script font=angsana new family=Angsana New font=gulimche family=GulimChe font=bell mt bold family=Bell MT font=arial narrow bold italic family=Arial Narrow font=gill sans mt family=Gill Sans MT font=kristen itc family=Kristen ITC font=bradley hand itc family=Bradley Hand ITC font=calibri family=Calibri font=batang family=Batang font=cordia new family=Cordia New font=calibri light family=Calibri Light font=freesiaupc family=FreesiaUPC font=century family=Century font=browalliaupc family=BrowalliaUPC font=gigi family=Gigi font=symath family=Symath font=cordia new bold italic family=Cordia New font=wingdings family=Wingdings font=nirmala ui family=Nirmala UI font=guttman logo1 family=Guttman Logo1 font=romantic bold family=Romantic font=shonar bangla family=Shonar Bangla font=cityblueprint family=CityBlueprint font=century schoolbook bold italic family=Century Schoolbook font=vani family=Vani font=harrington family=Harrington font=gungsuhche family=GungsuhChe font=guttman miryam bold family=Guttman Miryam font=sansserif boldoblique family=SansSerif font=aparajita bold italic family=Aparajita font=kaiti family=KaiTi font=garamond bold family=Garamond font=guttman drogolin bold family=Guttman Drogolin font=copperplate gothic light family=Copperplate Gothic Light font=high tower text family=High Tower Text font=courier new bold family=Courier New font=lucida sans typewriter bold family=Lucida Sans Typewriter font=nyala family=Nyala font=verdana italic family=Verdana font=italict family=ItalicT font=courier new bold italic family=Courier New font=meiryo bold family=Meiryo font=raavi bold family=Raavi font=kokila bold family=Kokila font=guttman hatzvi bold family=Guttman Hatzvi font=lucida fax demibold italic family=Lucida Fax font=viner hand itc family=Viner Hand ITC font=swiss 721 bold outline bt family=Swis721 BdOul BT font=tahoma bold family=Tahoma font=mistral family=Mistral font=mangal bold family=Mangal font=browallia new bold family=Browallia New font=rod family=Rod font=vineta bt family=Vineta BT font=simplex family=Simplex font=mingliu_hkscs-extb family=MingLiU_HKSCS-ExtB font=guttman mantova bold family=Guttman Mantova font=superfrench family=SuperFrench font=lilyupc bold family=LilyUPC font=cambria math family=Cambria Math font=arial italic family=Arial font=mingliu_hkscs family=MingLiU_HKSCS font=guttman hatzvi family=Guttman Hatzvi font=italicc family=ItalicC font=berlin sans fb demi bold family=Berlin Sans FB Demi font=guttman aharoni family=Guttman Aharoni font=ebrima family=Ebrima font=cambria bold italic family=Cambria font=countryblueprint family=CountryBlueprint font=dutch 801 roman bt family=Dutch801 Rm BT font=guttman haim family=Guttman Haim font=colonna mt family=Colonna MT font=shruti family=Shruti font=technic family=Technic font=lucida fax regular family=Lucida Fax font=microsoft jhenghei bold family=Microsoft JhengHei font=constantia italic family=Constantia font=microsoft yahei ui family=Microsoft YaHei UI font=berlin sans fb bold family=Berlin Sans FB font=rage italic family=Rage Italic font=angsanaupc family=AngsanaUPC font=georgia italic family=Georgia font=ravie family=Ravie font=bodoni mt family=Bodoni MT font=franklin gothic medium family=Franklin Gothic Medium font=berlin sans fb family=Berlin Sans FB font=verdana family=Verdana font=ms reference sans serif family=MS Reference Sans Serif font=sakkal majalla bold family=Sakkal Majalla font=amgdt family=AMGDT font=corbel family=Corbel font=georgia bold family=Georgia font=times new roman bold italic family=Times New Roman font=freestyle script family=Freestyle Script font=vrinda bold family=Vrinda font=marlett family=Marlett font=traditional arabic family=Traditional Arabic font=segoe ui semibold family=Segoe UI Semibold font=angsana new italic family=Angsana New font=levenim mt family=Levenim MT font=eucrosiaupc bold italic family=EucrosiaUPC font=microsoft uighur bold family=Microsoft Uighur font=bank gothic medium bt family=BankGothic Md BT font=aparajita italic family=Aparajita font=lucida sans italic family=Lucida Sans font=tw cen mt family=Tw Cen MT font=gloucester mt extra condensed family=Gloucester MT Extra Condensed font=guttman kav family=Guttman Kav font=swiss 721 italic bt family=Swis721 BT font=niagara solid family=Niagara Solid font=microsoft yahei family=Microsoft YaHei font=leelawadee family=Leelawadee font=cordiaupc bold family=CordiaUPC font=scriptc family=ScriptC font=dokchampa family=DokChampa font=franklin gothic demi family=Franklin Gothic Demi font=monospace 821 italic bt family=Monospac821 BT font=cordiaupc bold italic family=CordiaUPC font=kodchiangupc bold italic family=KodchiangUPC font=dutch 801 bold bt family=Dutch801 Rm BT font=palatino linotype italic family=Palatino Linotype font=palatino linotype bold family=Palatino Linotype font=swiss 721 black condensed bt family=Swis721 BlkCn BT font=calisto mt bold italic family=Calisto MT font=tw cen mt condensed bold family=Tw Cen MT Condensed font=batangche family=BatangChe font=guttman frnew family=Guttman Frnew font=fangsong family=FangSong font=pmingliu family=PMingLiU font=angsanaupc bold family=AngsanaUPC font=vijaya bold family=Vijaya font=aparajita bold family=Aparajita font=ms outlook family=MS Outlook font=isoct family=ISOCT font=gabriola family=Gabriola font=isocp family=ISOCP font=guttman stam family=Guttman Stam font=kokila family=Kokila font=rockwell bold family=Rockwell font=dutch 801 bold italic bt family=Dutch801 Rm BT font=swiss 721 black extended bt family=Swis721 BlkEx BT font=nirmala ui bold family=Nirmala UI font=kartika family=Kartika font=amdtsymbols family=AmdtSymbols font=microsoft jhenghei family=Microsoft JhengHei font=palatino linotype bold italic family=Palatino Linotype font=swiss 721 bold bt family=Swis721 BT font=garamond italic family=Garamond font=book antiqua italic family=Book Antiqua font=guttman kav bold family=Guttman Kav font=daunpenh family=DaunPenh font=khmer ui family=Khmer UI font=eucrosiaupc bold family=EucrosiaUPC font=castellar family=Castellar font=narkisim family=Narkisim font=sylfaen family=Sylfaen font=meiryo bold italic family=Meiryo font=californian fb family=Californian FB font=malgun gothic bold family=Malgun Gothic font=georgia bold italic family=Georgia font=bank gothic light bt family=BankGothic Lt BT font=swiss 721 bold condensed italic bt family=Swis721 Cn BT font=cordia new italic family=Cordia New font=dilleniaupc family=DilleniaUPC font=txt family=Txt font=angsanaupc italic family=AngsanaUPC font=times new roman italic family=Times New Roman font=swiss 721 black outline bt family=Swis721 BlkOul BT font=bookman old style family=Bookman Old Style font=dutch 801 extra bold bt family=Dutch801 XBd BT font=meiryo ui italic family=Meiryo UI font=symbol family=Symbol font=swiss 721 bold condensed bt family=Swis721 Cn BT font=century gothic family=Century Gothic font=tempus sans itc family=Tempus Sans ITC font=guttman myamfix family=Guttman Myamfix font=swiss 721 condensed italic bt family=Swis721 Cn BT font=corbel italic family=Corbel font=isoct3 family=ISOCT3 font=segoe print family=Segoe Print font=isoct2 family=ISOCT2 font=segoe ui light family=Segoe UI Light font=britannic bold family=Britannic Bold font=cambria italic family=Cambria font=romantic italic family=Romantic font=proxy 8 family=Proxy 8 font=proxy 9 family=Proxy 9 font=proxy 6 family=Proxy 6 font=utsaah bold family=Utsaah font=proxy 7 family=Proxy 7 font=proxy 4 family=Proxy 4 font=proxy 5 family=Proxy 5 font=proxy 2 family=Proxy 2 font=trebuchet ms bold family=Trebuchet MS font=proxy 3 family=Proxy 3 font=lucida sans regular family=Lucida Sans font=rockwell condensed bold family=Rockwell Condensed font=guttman mantova-decor family=Guttman Mantova-Decor font=stencil family=Stencil font=lucida bright family=Lucida Bright font=guttman yad family=Guttman Yad font=bernard mt condensed family=Bernard MT Condensed font=agency fb bold family=Agency FB font=kodchiangupc bold family=KodchiangUPC font=malgun gothic family=Malgun Gothic font=niagara engraved family=Niagara Engraved font=segoe ui semilight family=Segoe UI Semilight font=edwardian script itc family=Edwardian Script ITC font=book antiqua family=Book Antiqua font=candara italic family=Candara font=browalliaupc bold italic family=BrowalliaUPC font=kodchiangupc italic family=KodchiangUPC font=cambria bold family=Cambria font=geniso family=GENISO font=californian fb italic family=Californian FB font=mongolian baiti family=Mongolian Baiti font=andalus family=Andalus font=swiss 721 extended bt family=Swis721 Ex BT font=romant family=RomanT font=microsoft uighur family=Microsoft Uighur font=irisupc family=IrisUPC font=romans family=RomanS font=simplified arabic family=Simplified Arabic font=bodoni mt black family=Bodoni MT Black font=curlz mt family=Curlz MT font=browallia new bold italic family=Browallia New font=ms reference specialty family=MS Reference Specialty font=vrinda family=Vrinda font=engravers mt family=Engravers MT font=wide latin family=Wide Latin font=romand family=RomanD font=romanc family=RomanC font=perpetua family=Perpetua font=ebrima bold family=Ebrima font=gill sans ultra bold family=Gill Sans Ultra Bold font=sansserif oblique family=SansSerif font=modern no. 20 family=Modern No. 20 font=bookman old style italic family=Bookman Old Style font=segoe ui family=Segoe UI font=juice itc family=Juice ITC font=arabic typesetting family=Arabic Typesetting font=candara bold italic family=Candara font=gautami family=Gautami font=syastro family=Syastro font=jokerman family=Jokerman font=khmer ui bold family=Khmer UI font=copperplate gothic bold family=Copperplate Gothic Bold font=simplified arabic bold family=Simplified Arabic font=hadassah friedlaender bold family=Hadassah Friedlaender font=commercial script bt family=CommercialScript BT font=angsanaupc bold italic family=AngsanaUPC font=swiss 721 bold condensed outline bt family=Swis721 BdCnOul BT font=lucida calligraphy italic family=Lucida Calligraphy font=gulim family=Gulim font=dotumche family=DotumChe font=tw cen mt condensed extra bold family=Tw Cen MT Condensed Extra Bold font=trebuchet ms bold italic family=Trebuchet MS font=jasmineupc bold italic family=JasmineUPC font=goudy old style family=Goudy Old Style font=guttman kav-light family=Guttman Kav-Light font=courier new italic family=Courier New font=arial rounded mt bold family=Arial Rounded MT Bold font=agency fb family=Agency FB font=lao ui family=Lao UI font=commercial pi bt family=CommercialPi BT font=calibri italic family=Calibri font=segoe ui symbol family=Segoe UI Symbol font=swiss 721 light bt family=Swis721 Lt BT font=segoe ui italic family=Segoe UI font=swiss 721 black italic bt family=Swis721 Blk BT font=angsana new bold family=Angsana New font=freesiaupc bold family=FreesiaUPC font=swiss 721 light italic bt family=Swis721 Lt BT font=arial bold family=Arial font=microsoft phagspa family=Microsoft PhagsPa font=cordia new bold family=Cordia New font=hadassah friedlaender family=Hadassah Friedlaender font=gothici family=GothicI font=gothicg family=GothicG font=lucida sans typewriter regular family=Lucida Sans Typewriter font=gothice family=GothicE font=arial black family=Arial Black font=century schoolbook family=Century Schoolbook font=swiss 721 black condensed italic bt family=Swis721 BlkCn BT font=lucida sans typewriter oblique family=Lucida Sans Typewriter font=gdt family=GDT font=gungsuh family=Gungsuh font=swiss 721 light condensed bt family=Swis721 LtCn BT font=ocr a extended family=OCR A Extended font=segoe ui bold italic family=Segoe UI font=gill sans mt italic family=Gill Sans MT font=guttman-aharoni bold family=Guttman-Aharoni font=blackadder itc family=Blackadder ITC font=corbel bold family=Corbel font=poor richard family=Poor Richard font=greeks family=GreekS font=swiss 721 bt family=Swis721 BT font=goudy old style italic family=Goudy Old Style font=wingdings 3 family=Wingdings 3 font=wingdings 2 family=Wingdings 2 font=vani bold family=Vani font=guttman mantova family=Guttman Mantova font=greekc family=GreekC font=guttman-aram family=Guttman-Aram font=dilleniaupc bold italic family=DilleniaUPC font=symusic family=Symusic font=lilyupc family=LilyUPC font=sakkal majalla family=Sakkal Majalla font=guttman miryam light family=Guttman Miryam font=proxy 1 family=Proxy 1 font=rockwell condensed family=Rockwell Condensed font=corbel bold italic family=Corbel font=technicbold family=TechnicBold font=meiryo ui family=Meiryo UI font=browallia new family=Browallia New font=microsoft sans serif family=Microsoft Sans Serif font=isocp3 family=ISOCP3 font=isocp2 family=ISOCP2 font=irisupc italic family=IrisUPC font=lucida sans unicode family=Lucida Sans Unicode font=bell mt family=Bell MT font=arial narrow italic family=Arial Narrow font=goudy old style bold family=Goudy Old Style font=gadugi bold family=Gadugi font=irisupc bold family=IrisUPC font=aigdt family=AIGDT font=franklin gothic medium cond family=Franklin Gothic Medium Cond font=kokila italic family=Kokila font=comic sans ms family=Comic Sans MS font=lucida bright demibold italic family=Lucida Bright font=perpetua italic family=Perpetua font=italic family=Italic font=arial narrow bold family=Arial Narrow font=georgia family=Georgia font=ms pgothic family=MS PGothic font=bodoni mt black italic family=Bodoni MT Black font=gill sans ultra bold condensed family=Gill Sans Ultra Bold Condensed font=snap itc family=Snap ITC font=isocteur family=ISOCTEUR font=utsaah bold italic family=Utsaah font=calibri light italic family=Calibri Light font=arial bold italic family=Arial font=bookman old style bold family=Bookman Old Style font=universal math 1 bt family=UniversalMath1 BT font=microsoft tai le bold family=Microsoft Tai Le font=microsoft yahei bold family=Microsoft YaHei font=arial narrow family=Arial Narrow font=consolas family=Consolas font=guttman vilna bold family=Guttman Vilna font=miriam fixed family=Miriam Fixed font=freesiaupc bold italic family=FreesiaUPC font=monotype corsiva family=Monotype Corsiva font=centaur family=Centaur font=microsoft new tai lue bold family=Microsoft New Tai Lue font=tahoma family=Tahoma font=bodoni mt condensed bold family=Bodoni MT Condensed font=jasmineupc family=JasmineUPC font=rockwell bold italic family=Rockwell font=symap family=Symap font=guttman frank family=Guttman Frank font=miriam family=Miriam font=lucida sans demibold italic family=Lucida Sans font=mt extra family=MT Extra font=acaderef family=AcadEref font=cordiaupc italic family=CordiaUPC font=lucida console family=Lucida Console font=segoe script bold family=Segoe Script font=gill sans mt bold family=Gill Sans MT font=high tower text italic family=High Tower Text font=vladimir script family=Vladimir Script font=ms pmincho family=MS PMincho font=plantagenet cherokee family=Plantagenet Cherokee font=jasmineupc italic family=JasmineUPC font=courier new family=Courier New font=david family=David font=david bold family=David font=scripts family=ScriptS font=lucida fax demibold family=Lucida Fax font=microsoft jhenghei ui bold family=Microsoft JhengHei UI font=candara family=Candara font=mv boli family=MV Boli font=calisto mt bold family=Calisto MT font=tw cen mt condensed family=Tw Cen MT Condensed font=swiss 721 condensed bt family=Swis721 Cn BT font=constantia bold italic family=Constantia font=times new roman bold family=Times New Roman font=segoe print bold family=Segoe Print font=californian fb bold family=Californian FB font=kokila bold italic family=Kokila font=dilleniaupc bold family=DilleniaUPC font=kalinga bold family=Kalinga family=constantia fonts=[Constantia, Constantia Italic, Constantia Bold, Constantia Bold Italic] family=amgdt fonts=[AMGDT] family=corbel fonts=[Corbel, Corbel Italic, Corbel Bold, Corbel Bold Italic] family=guttman haim-condensed fonts=[Guttman Haim-Condensed] family=bauhaus 93 fonts=[Bauhaus 93] family=garamond fonts=[Garamond, Garamond Bold, Garamond Italic] family=cordiaupc fonts=[CordiaUPC, CordiaUPC Bold, CordiaUPC Bold Italic, CordiaUPC Italic] family=freestyle script fonts=[Freestyle Script] family=kodchiangupc fonts=[KodchiangUPC, KodchiangUPC Italic, KodchiangUPC Bold, KodchiangUPC Bold Italic] family=bodoni mt condensed fonts=[Bodoni MT Condensed Bold, Bodoni MT Condensed Bold Italic, Bodoni MT Condensed Italic, Bodoni MT Condensed] family=marlett fonts=[Marlett] family=simplified arabic fixed fonts=[Simplified Arabic Fixed] family=traditional arabic fonts=[Traditional Arabic, Traditional Arabic Bold] family=microsoft yi baiti fonts=[Microsoft Yi Baiti] family=old english text mt fonts=[Old English Text MT] family=segoe ui semibold fonts=[Segoe UI Semibold] family=dotum fonts=[Dotum] family=levenim mt fonts=[Levenim MT, Levenim MT Bold] family=microsoft jhenghei ui fonts=[Microsoft JhengHei UI, Microsoft JhengHei UI Bold] family=complex fonts=[Complex] family=lucida calligraphy fonts=[Lucida Calligraphy Italic] family=tw cen mt fonts=[Tw Cen MT Bold, Tw Cen MT Bold Italic, Tw Cen MT, Tw Cen MT Italic] family=gloucester mt extra condensed fonts=[Gloucester MT Extra Condensed] family=guttman kav fonts=[Guttman Kav Bold, Guttman Kav] family=impact fonts=[Impact] family=niagara solid fonts=[Niagara Solid] family=microsoft yahei fonts=[Microsoft YaHei, Microsoft YaHei Bold, Microsoft YaHei, Microsoft YaHei Bold] family=leelawadee fonts=[Leelawadee, Leelawadee Bold] family=utsaah fonts=[Utsaah, Utsaah Bold, Utsaah Bold Italic, Utsaah Italic] family=scriptc fonts=[ScriptC] family=dokchampa fonts=[DokChampa] family=simsun fonts=[SimSun] family=cooper black fonts=[Cooper Black] family=franklin gothic demi fonts=[Franklin Gothic Demi, Franklin Gothic Demi Italic] family=palace script mt fonts=[Palace Script MT] family=raavi fonts=[Raavi, Raavi Bold] family=papyrus fonts=[Papyrus] family=batangche fonts=[BatangChe] family=guttman-courmir fonts=[Guttman-CourMir] family=guttman frnew fonts=[Guttman Frnew] family=fangsong fonts=[FangSong] family=dfkai-sb fonts=[DFKai-SB] family=gadugi fonts=[Gadugi, Gadugi Bold] family=pmingliu fonts=[PMingLiU] family=felix titling fonts=[Felix Titling] family=guttman-aharoni fonts=[Guttman-Aharoni Bold] family=franklin gothic heavy fonts=[Franklin Gothic Heavy, Franklin Gothic Heavy Italic] family=trebuchet ms fonts=[Trebuchet MS, Trebuchet MS Italic, Trebuchet MS Bold, Trebuchet MS Bold Italic] family=guttman stam1 fonts=[Guttman Stam1] family=matura mt script capitals fonts=[Matura MT Script Capitals] family=bookshelf symbol 7 fonts=[Bookshelf Symbol 7] family=ms outlook fonts=[MS Outlook] family=isoct fonts=[ISOCT] family=gabriola fonts=[Gabriola] family=swis721 bt fonts=[Swiss 721 BT, Swiss 721 Bold BT, Swiss 721 Bold Italic BT, Swiss 721 Italic BT] family=isocp fonts=[ISOCP] family=guttman stam fonts=[Guttman Stam] family=kokila fonts=[Kokila, Kokila Bold, Kokila Bold Italic, Kokila Italic] family=meiryo fonts=[Meiryo, Meiryo Italic, Meiryo Bold, Meiryo Bold Italic] family=swis721 ltex bt fonts=[Swiss 721 Light Extended BT] family=haettenschweiler fonts=[Haettenschweiler] family=kartika fonts=[Kartika, Kartika Bold] family=amdtsymbols fonts=[AmdtSymbols] family=microsoft jhenghei fonts=[Microsoft JhengHei, Microsoft JhengHei Bold, Microsoft JhengHei, Microsoft JhengHei Bold] family=daunpenh fonts=[DaunPenh] family=khmer ui fonts=[Khmer UI, Khmer UI Bold] family=castellar fonts=[Castellar] family=calisto mt fonts=[Calisto MT, Calisto MT Bold, Calisto MT Bold Italic, Calisto MT Italic] family=script mt bold fonts=[Script MT Bold] family=narkisim fonts=[Narkisim] family=sylfaen fonts=[Sylfaen] family=californian fb fonts=[Californian FB Bold, Californian FB Italic, Californian FB] family=euroroman fonts=[EuroRoman Oblique, EuroRoman] family=guttman vilna fonts=[Guttman Vilna, Guttman Vilna Bold] family=franklin gothic demi cond fonts=[Franklin Gothic Demi Cond] family=guttman yad-brush fonts=[Guttman Yad-Brush] family=moolboran fonts=[MoolBoran] family=lucida handwriting fonts=[Lucida Handwriting Italic] family=panroman fonts=[PanRoman] family=dilleniaupc fonts=[DilleniaUPC, DilleniaUPC Italic, DilleniaUPC Bold, DilleniaUPC Bold Italic] family=kalinga fonts=[Kalinga, Kalinga Bold] family=txt fonts=[Txt] family=sansserif fonts=[SansSerif BoldOblique, SansSerif Bold, SansSerif Oblique, SansSerif] family=swis721 ex bt fonts=[Swiss 721 Extended BT, Swiss 721 Bold Extended BT] family=euphemia fonts=[Euphemia] family=bookman old style fonts=[Bookman Old Style, Bookman Old Style Bold, Bookman Old Style Bold Italic, Bookman Old Style Italic] family=symbol fonts=[Symbol] family=parchment fonts=[Parchment] family=berlin sans fb demi fonts=[Berlin Sans FB Demi Bold] family=century gothic fonts=[Century Gothic, Century Gothic Bold, Century Gothic Bold Italic, Century Gothic Italic] family=broadway fonts=[Broadway] family=tempus sans itc fonts=[Tempus Sans ITC] family=ms ui gothic fonts=[MS UI Gothic] family=guttman myamfix fonts=[Guttman Myamfix] family=isoct3 fonts=[ISOCT3] family=segoe print fonts=[Segoe Print, Segoe Print Bold] family=isoct2 fonts=[ISOCT2] family=lucida sans fonts=[Lucida Sans Regular, Lucida Sans Demibold Roman, Lucida Sans Demibold Italic, Lucida Sans Italic] family=segoe ui light fonts=[Segoe UI Light] family=britannic bold fonts=[Britannic Bold] family=mingliu-extb fonts=[MingLiU-ExtB] family=microsoft tai le fonts=[Microsoft Tai Le, Microsoft Tai Le Bold] family=proxy 8 fonts=[Proxy 8] family=proxy 9 fonts=[Proxy 9] family=aparajita fonts=[Aparajita, Aparajita Bold, Aparajita Bold Italic, Aparajita Italic] family=aharoni fonts=[Aharoni Bold] family=proxy 6 fonts=[Proxy 6] family=proxy 7 fonts=[Proxy 7] family=proxy 4 fonts=[Proxy 4] family=eras demi itc fonts=[Eras Demi ITC] family=proxy 5 fonts=[Proxy 5] family=proxy 2 fonts=[Proxy 2] family=algerian fonts=[Algerian] family=eras light itc fonts=[Eras Light ITC] family=rockwell fonts=[Rockwell, Rockwell Bold, Rockwell Bold Italic, Rockwell Italic] family=proxy 3 fonts=[Proxy 3] family=guttman mantova-decor fonts=[Guttman Mantova-Decor] family=stencil fonts=[Stencil] family=goudy stout fonts=[Goudy Stout] family=guttman drogolin fonts=[Guttman Drogolin Bold, Guttman Drogolin] family=lucida bright fonts=[Lucida Bright, Lucida Bright Demibold, Lucida Bright Demibold Italic, Lucida Bright Italic] family=pmingliu-extb fonts=[PMingLiU-ExtB] family=guttman yad fonts=[Guttman Yad] family=times new roman fonts=[Times New Roman, Times New Roman Italic, Times New Roman Bold, Times New Roman Bold Italic] family=bernard mt condensed fonts=[Bernard MT Condensed] family=simsun-extb fonts=[SimSun-ExtB] family=informal roman fonts=[Informal Roman] family=malgun gothic fonts=[Malgun Gothic, Malgun Gothic Bold] family=niagara engraved fonts=[Niagara Engraved] family=segoe ui semilight fonts=[Segoe UI Semilight] family=dutch801 rm bt fonts=[Dutch 801 Roman BT, Dutch 801 Bold BT, Dutch 801 Bold Italic BT, Dutch 801 Italic BT] family=chiller fonts=[Chiller] family=edwardian script itc fonts=[Edwardian Script ITC] family=kunstler script fonts=[Kunstler Script] family=book antiqua fonts=[Book Antiqua Bold, Book Antiqua Bold Italic, Book Antiqua Italic, Book Antiqua] family=swis721 blk bt fonts=[Swiss 721 Black BT, Swiss 721 Black Italic BT] family=mangal fonts=[Mangal, Mangal Bold] family=geniso fonts=[GENISO] family=guttman miryam fonts=[Guttman Miryam Bold, Guttman Miryam Light] family=frankruehl fonts=[FrankRuehl] family=mongolian baiti fonts=[Mongolian Baiti] family=elephant fonts=[Elephant, Elephant Italic] family=andalus fonts=[Andalus] family=romant fonts=[RomanT] family=microsoft uighur fonts=[Microsoft Uighur, Microsoft Uighur Bold] family=irisupc fonts=[IrisUPC, IrisUPC Italic, IrisUPC Bold, IrisUPC Bold Italic] family=romans fonts=[RomanS] family=simplified arabic fonts=[Simplified Arabic, Simplified Arabic Bold] family=bodoni mt black fonts=[Bodoni MT Black Italic, Bodoni MT Black] family=bodoni mt poster compressed fonts=[Bodoni MT Poster Compressed] family=curlz mt fonts=[Curlz MT] family=gill sans mt ext condensed bold fonts=[Gill Sans MT Ext Condensed Bold] family=latha fonts=[Latha, Latha Bold] family=ms reference specialty fonts=[MS Reference Specialty] family=dutch801 xbd bt fonts=[Dutch 801 Extra Bold BT] family=vrinda fonts=[Vrinda, Vrinda Bold] family=engravers mt fonts=[Engravers MT] family=wide latin fonts=[Wide Latin] family=maiandra gd fonts=[Maiandra GD] family=romand fonts=[RomanD] family=romanc fonts=[RomanC] family=perpetua fonts=[Perpetua, Perpetua Bold, Perpetua Bold Italic, Perpetua Italic] family=romantic fonts=[Romantic Bold, Romantic Italic, Romantic] family=gill sans ultra bold fonts=[Gill Sans Ultra Bold] family=modern no. 20 fonts=[Modern No. 20] family=commercialpi bt fonts=[Commercial Pi BT] family=ms mincho fonts=[MS Mincho] family=imprint mt shadow fonts=[Imprint MT Shadow] family=segoe ui fonts=[Segoe UI Bold, Segoe UI Italic, Segoe UI Bold Italic, Segoe UI] family=juice itc fonts=[Juice ITC] family=arabic typesetting fonts=[Arabic Typesetting] family=vijaya fonts=[Vijaya, Vijaya Bold] family=stylus bt fonts=[Stylus BT] family=gautami fonts=[Gautami, Gautami Bold] family=syastro fonts=[Syastro] family=jokerman fonts=[Jokerman] family=simhei fonts=[SimHei] family=harlow solid italic fonts=[Harlow Solid Italic] family=guttman yad-light fonts=[Guttman Yad-Light] family=copperplate gothic bold fonts=[Copperplate Gothic Bold] family=guttman rashi fonts=[Guttman Rashi, Guttman Rashi Bold] family=showcard gothic fonts=[Showcard Gothic] family=symeteo fonts=[Symeteo] family=footlight mt light fonts=[Footlight MT Light] family=gulim fonts=[Gulim] family=dotumche fonts=[DotumChe] family=tw cen mt condensed extra bold fonts=[Tw Cen MT Condensed Extra Bold] family=goudy old style fonts=[Goudy Old Style, Goudy Old Style Bold, Goudy Old Style Italic] family=guttman kav-light fonts=[Guttman Kav-Light] family=arial rounded mt bold fonts=[Arial Rounded MT Bold] family=rockwell extra bold fonts=[Rockwell Extra Bold] family=isocpeur fonts=[ISOCPEUR Italic, ISOCPEUR] family=cambria fonts=[Cambria, Cambria Italic, Cambria Bold, Cambria Bold Italic] family=lucida sans typewriter fonts=[Lucida Sans Typewriter Regular, Lucida Sans Typewriter Bold, Lucida Sans Typewriter Bold Oblique, Lucida Sans Typewriter Oblique] family=onyx fonts=[Onyx] family=agency fb fonts=[Agency FB Bold, Agency FB] family=iskoola pota fonts=[Iskoola Pota, IskoolaPota-Bold] family=arial fonts=[Arial, Arial Italic, Arial Bold, Arial Bold Italic] family=lao ui fonts=[Lao UI, Lao UI Bold] family=webdings fonts=[Webdings] family=swis721 bdcnoul bt fonts=[Swiss 721 Bold Condensed Outline BT] family=segoe ui symbol fonts=[Segoe UI Symbol] family=bankgothic lt bt fonts=[Bank Gothic Light BT] family=ms gothic fonts=[MS Gothic] family=baskerville old face fonts=[Baskerville Old Face] family=monotxt fonts=[Monotxt] family=swis721 bdoul bt fonts=[Swiss 721 Bold Outline BT] family=eucrosiaupc fonts=[EucrosiaUPC, EucrosiaUPC Italic, EucrosiaUPC Bold, EucrosiaUPC Bold Italic] family=microsoft phagspa fonts=[Microsoft PhagsPa, Microsoft PhagsPa Bold] family=nsimsun fonts=[NSimSun] family=hadassah friedlaender fonts=[Hadassah Friedlaender, Hadassah Friedlaender Bold] family=magneto fonts=[Magneto Bold] family=forte fonts=[Forte] family=techniclite fonts=[TechnicLite] family=gothici fonts=[GothicI] family=gothicg fonts=[GothicG] family=gill sans mt condensed fonts=[Gill Sans MT Condensed] family=gothice fonts=[GothicE] family=arial black fonts=[Arial Black] family=century schoolbook fonts=[Century Schoolbook, Century Schoolbook Bold, Century Schoolbook Bold Italic, Century Schoolbook Italic] family=eras medium itc fonts=[Eras Medium ITC] family=gdt fonts=[GDT] family=palatino linotype fonts=[Palatino Linotype, Palatino Linotype Italic, Palatino Linotype Bold, Palatino Linotype Bold Italic] family=gungsuh fonts=[Gungsuh] family=eras bold itc fonts=[Eras Bold ITC] family=franklin gothic book fonts=[Franklin Gothic Book, Franklin Gothic Book Italic] family=playbill fonts=[Playbill] family=ocr a extended fonts=[OCR A Extended] family=tunga fonts=[Tunga, Tunga Bold] family=swis721 ltcn bt fonts=[Swiss 721 Light Condensed BT, Swiss 721 Light Condensed Italic BT] family=blackadder itc fonts=[Blackadder ITC] family=commercialscript bt fonts=[Commercial Script BT] family=swis721 blkcn bt fonts=[Swiss 721 Black Condensed BT, Swiss 721 Black Condensed Italic BT] family=microsoft new tai lue fonts=[Microsoft New Tai Lue, Microsoft New Tai Lue Bold] family=estrangelo edessa fonts=[Estrangelo Edessa] family=poor richard fonts=[Poor Richard] family=greeks fonts=[GreekS] family=universalmath1 bt fonts=[Universal Math 1 BT] family=mingliu fonts=[MingLiU] family=wingdings 3 fonts=[Wingdings 3] family=swis721 cn bt fonts=[Swiss 721 Condensed BT, Swiss 721 Bold Condensed BT, Swiss 721 Bold Condensed Italic BT, Swiss 721 Condensed Italic BT] family=pristina fonts=[Pristina] family=wingdings 2 fonts=[Wingdings 2] family=gisha fonts=[Gisha, Gisha Bold] family=perpetua titling mt fonts=[Perpetua Titling MT Bold, Perpetua Titling MT Light] family=swis721 blkoul bt fonts=[Swiss 721 Black Outline BT] family=french script mt fonts=[French Script MT] family=guttman mantova fonts=[Guttman Mantova Bold, Guttman Mantova] family=greekc fonts=[GreekC] family=guttman-aram fonts=[Guttman-Aram] family=microsoft himalaya fonts=[Microsoft Himalaya] family=bankgothic md bt fonts=[Bank Gothic Medium BT] family=symusic fonts=[Symusic] family=segoe script fonts=[Segoe Script, Segoe Script Bold] family=angsana new fonts=[Angsana New, Angsana New Italic, Angsana New Bold, Angsana New Bold Italic] family=gulimche fonts=[GulimChe] family=lilyupc fonts=[LilyUPC, LilyUPC Italic, LilyUPC Bold, LilyUPC Bold Italic] family=sakkal majalla fonts=[Sakkal Majalla, Sakkal Majalla Bold] family=proxy 1 fonts=[Proxy 1] family=gill sans mt fonts=[Gill Sans MT, Gill Sans MT Bold, Gill Sans MT Bold Italic, Gill Sans MT Italic] family=kristen itc fonts=[Kristen ITC] family=rockwell condensed fonts=[Rockwell Condensed, Rockwell Condensed Bold] family=bradley hand itc fonts=[Bradley Hand ITC] family=vivaldi fonts=[Vivaldi Italic] family=calibri fonts=[Calibri, Calibri Italic, Calibri Bold, Calibri Bold Italic] family=batang fonts=[Batang] family=cordia new fonts=[Cordia New, Cordia New Italic, Cordia New Bold, Cordia New Bold Italic] family=calibri light fonts=[Calibri Light Italic, Calibri Light] family=technicbold fonts=[TechnicBold] family=meiryo ui fonts=[Meiryo UI, Meiryo UI Italic, Meiryo UI Bold, Meiryo UI Bold Italic] family=browallia new fonts=[Browallia New, Browallia New Italic, Browallia New Bold, Browallia New Bold Italic] family=freesiaupc fonts=[FreesiaUPC, FreesiaUPC Italic, FreesiaUPC Bold, FreesiaUPC Bold Italic] family=century fonts=[Century] family=browalliaupc fonts=[BrowalliaUPC, BrowalliaUPC Italic, BrowalliaUPC Bold, BrowalliaUPC Bold Italic] family=microsoft sans serif fonts=[Microsoft Sans Serif] family=gigi fonts=[Gigi] family=isocp3 fonts=[ISOCP3] family=isocp2 fonts=[ISOCP2] family=symath fonts=[Symath] family=lucida sans unicode fonts=[Lucida Sans Unicode] family=bell mt fonts=[Bell MT, Bell MT Bold, Bell MT Italic] family=wingdings fonts=[Wingdings] family=nirmala ui fonts=[Nirmala UI, Nirmala UI Bold] family=guttman logo1 fonts=[Guttman Logo1] family=aigdt fonts=[AIGDT] family=shonar bangla fonts=[Shonar Bangla, Shonar Bangla Bold] family=franklin gothic medium cond fonts=[Franklin Gothic Medium Cond] family=cityblueprint fonts=[CityBlueprint] family=comic sans ms fonts=[Comic Sans MS, Comic Sans MS Bold] family=italic fonts=[Italic] family=swis721 lt bt fonts=[Swiss 721 Light BT, Swiss 721 Light Italic BT] family=vani fonts=[Vani, Vani Bold] family=harrington fonts=[Harrington] family=georgia fonts=[Georgia, Georgia Italic, Georgia Bold, Georgia Bold Italic] family=gungsuhche fonts=[GungsuhChe] family=ms pgothic fonts=[MS PGothic] family=gill sans ultra bold condensed fonts=[Gill Sans Ultra Bold Condensed] family=snap itc fonts=[Snap ITC] family=isocteur fonts=[ISOCTEUR Italic, ISOCTEUR] family=kaiti fonts=[KaiTi] family=arial narrow fonts=[Arial Narrow, Arial Narrow Bold, Arial Narrow Bold Italic, Arial Narrow Italic] family=copperplate gothic light fonts=[Copperplate Gothic Light] family=consolas fonts=[Consolas, Consolas Italic, Consolas Bold, Consolas Bold Italic] family=high tower text fonts=[High Tower Text, High Tower Text Italic] family=miriam fixed fonts=[Miriam Fixed] family=monotype corsiva fonts=[Monotype Corsiva] family=nyala fonts=[Nyala] family=swis721 blkex bt fonts=[Swiss 721 Black Extended BT] family=italict fonts=[ItalicT] family=centaur fonts=[Centaur] family=tahoma fonts=[Tahoma, Tahoma Bold] family=jasmineupc fonts=[JasmineUPC, JasmineUPC Italic, JasmineUPC Bold, JasmineUPC Bold Italic] family=viner hand itc fonts=[Viner Hand ITC] family=lucida fax fonts=[Lucida Fax Regular, Lucida Fax Demibold, Lucida Fax Demibold Italic, Lucida Fax Italic] family=symap fonts=[Symap] family=guttman frank fonts=[Guttman Frank Bold, Guttman Frank] family=mistral fonts=[Mistral] family=miriam fonts=[Miriam] family=mt extra fonts=[MT Extra] family=acaderef fonts=[AcadEref] family=rod fonts=[Rod] family=vineta bt fonts=[Vineta BT] family=simplex fonts=[Simplex] family=mingliu_hkscs-extb fonts=[MingLiU_HKSCS-ExtB] family=superfrench fonts=[SuperFrench] family=lucida console fonts=[Lucida Console] family=vladimir script fonts=[Vladimir Script] family=monospac821 bt fonts=[Monospace 821 BT, Monospace 821 Bold BT, Monospace 821 Bold Italic BT, Monospace 821 Italic BT] family=ms pmincho fonts=[MS PMincho] family=cambria math fonts=[Cambria Math] family=plantagenet cherokee fonts=[Plantagenet Cherokee] family=mingliu_hkscs fonts=[MingLiU_HKSCS] family=courier new fonts=[Courier New, Courier New Italic, Courier New Bold, Courier New Bold Italic] family=guttman hatzvi fonts=[Guttman Hatzvi Bold, Guttman Hatzvi] family=italicc fonts=[ItalicC] family=guttman aharoni fonts=[Guttman Aharoni] family=ebrima fonts=[Ebrima, Ebrima Bold] family=david fonts=[David, David Bold] family=brush script mt fonts=[Brush Script MT Italic] family=countryblueprint fonts=[CountryBlueprint] family=scripts fonts=[ScriptS] family=guttman haim fonts=[Guttman Haim] family=colonna mt fonts=[Colonna MT] family=shruti fonts=[Shruti, Shruti Bold] family=technic fonts=[Technic] family=microsoft yahei ui fonts=[Microsoft YaHei UI, Microsoft YaHei UI Bold] family=rage italic fonts=[Rage Italic] family=angsanaupc fonts=[AngsanaUPC, AngsanaUPC Italic, AngsanaUPC Bold, AngsanaUPC Bold Italic] family=candara fonts=[Candara, Candara Italic, Candara Bold, Candara Bold Italic] family=mv boli fonts=[MV Boli] family=ravie fonts=[Ravie] family=tw cen mt condensed fonts=[Tw Cen MT Condensed Bold, Tw Cen MT Condensed] family=bodoni mt fonts=[Bodoni MT Bold, Bodoni MT Bold Italic, Bodoni MT Italic, Bodoni MT] family=franklin gothic medium fonts=[Franklin Gothic Medium, Franklin Gothic Medium Italic] family=berlin sans fb fonts=[Berlin Sans FB Bold, Berlin Sans FB] family=verdana fonts=[Verdana, Verdana Italic, Verdana Bold, Verdana Bold Italic] family=ms reference sans serif fonts=[MS Reference Sans Serif] *** WINDOWS FONTS AFTER RESOLVING font=constantia file=CONSTAN.TTF font=microsoft phagspa bold file=phagspab.ttf font=guttman haim-condensed file=GHAIMC.TTF font=bauhaus 93 file=BAUHS93.TTF font=garamond file=GARA.TTF font=cordiaupc file=CORDIAU.TTF font=kodchiangupc file=upckl.ttf font=consolas italic file=consolai.ttf font=bodoni mt condensed file=BOD_CR.TTF font=swiss 721 black bt file=swissk.ttf font=simplified arabic fixed file=simpfxo.ttf font=microsoft yi baiti file=msyi.ttf font=old english text mt file=OLDENGL.TTF font=sansserif bold file=sanssb__.ttf font=dotum file=gulim.ttc font=browalliaupc italic file=browaui.ttf font=microsoft jhenghei ui file=MSJH.TTC font=complex file=complex_.ttf font=candara bold file=CANDARAB.TTF font=angsana new bold italic file=angsaz.ttf font=verdana bold italic file=verdanaz.ttf font=iskoolapota-bold file=iskpotab.ttf font=impact file=impact.ttf font=gautami bold file=gautamib.ttf font=utsaah file=utsaah.ttf font=simsun file=simsun.ttc font=cooper black file=COOPBL.TTF font=palace script mt file=PALSCRI.TTF font=raavi file=raavi.ttf font=kartika bold file=kartikab.ttf font=papyrus file=PAPYRUS.TTF font=tunga bold file=tungab.ttf font=meiryo italic file=meiryo.ttc font=shonar bangla bold file=Shonarb.ttf font=bodoni mt condensed bold italic file=BOD_CBI.TTF font=dilleniaupc italic file=upcdi.ttf font=guttman-courmir file=MIRFX.TTF font=lucida handwriting italic file=LHANDW.TTF font=magneto bold file=MAGNETOB.TTF font=dfkai-sb file=kaiu.ttf font=gadugi file=GADUGI.TTF font=vivaldi italic file=VIVALDII.TTF font=felix titling file=FELIXTI.TTF font=franklin gothic heavy file=FRAHV.TTF font=trebuchet ms file=trebuc.ttf font=guttman stam1 file=STAM1.TTF font=matura mt script capitals file=MATURASC.TTF font=isocteur italic file=isocteui.ttf font=bookshelf symbol 7 file=BSSYM7.TTF font=levenim mt bold file=lvnmbd.ttf font=lucida bright demibold file=LBRITED.TTF font=bodoni mt italic file=BOD_I.TTF font=meiryo file=meiryo.ttc font=dutch 801 italic bt file=dutchi.ttf font=haettenschweiler file=HATTEN.TTF font=tw cen mt bold italic file=TCBI____.TTF font=calisto mt file=CALIST.TTF font=script mt bold file=SCRIPTBL.TTF font=swiss 721 bold extended bt file=swisseb.ttf font=browalliaupc bold file=browaub.ttf font=bookman old style bold italic file=BOOKOSBI.TTF font=bodoni mt bold file=BOD_B.TTF font=euroroman file=eurr____.ttf font=guttman vilna file=VILNA.TTF font=monospace 821 bold italic bt file=monosbi.ttf font=freesiaupc italic file=upcfi.ttf font=franklin gothic demi cond file=FRADMCN.TTF font=lucida bright italic file=LBRITEI.TTF font=century schoolbook italic file=SCHLBKI.TTF font=perpetua bold file=PERB____.TTF font=guttman yad-brush file=GYADBR.TTF font=moolboran file=moolbor.ttf font=panroman file=panroman.ttf font=kalinga file=kalinga.ttf font=lao ui bold file=Laouib.ttf font=sansserif file=sanss___.ttf font=franklin gothic book italic file=FRABKIT.TTF font=monospace 821 bold bt file=monosb.ttf font=euphemia file=euphemia.ttf font=constantia bold file=CONSTANB.TTF font=parchment file=PARCHM.TTF font=broadway file=BROADW.TTF font=ms ui gothic file=msgothic.ttc font=gill sans mt bold italic file=GILBI___.TTF font=perpetua titling mt light file=PERTILI.TTF font=mingliu-extb file=mingliub.ttc font=microsoft tai le file=taile.ttf font=consolas bold italic file=consolaz.ttf font=aparajita file=aparaj.ttf font=eras demi itc file=ERASDEMI.TTF font=perpetua titling mt bold file=PERTIBD.TTF font=algerian file=ALGER.TTF font=eras light itc file=ERASLGHT.TTF font=rockwell file=ROCK.TTF font=franklin gothic medium italic file=framdit.ttf font=meiryo ui bold italic file=meiryob.ttc font=shruti bold file=shrutib.ttf font=swiss 721 bold italic bt file=swissbi.ttf font=gisha bold file=gishabd.ttf font=goudy stout file=GOUDYSTO.TTF font=guttman drogolin file=DROGM.TTF font=euroroman oblique file=eurro___.ttf font=pmingliu-extb file=mingliub.ttc font=times new roman file=times.ttf font=swiss 721 light condensed italic bt file=swisscli.ttf font=simsun-extb file=simsunb.ttf font=informal roman file=INFROMAN.TTF font=chiller file=CHILLER.TTF font=kunstler script file=KUNSTLER.TTF font=tw cen mt italic file=TCMI____.TTF font=jasmineupc bold file=upcjb.ttf font=franklin gothic demi italic file=FRADMIT.TTF font=leelawadee bold file=leelawdb.ttf font=mangal file=mangal.ttf font=brush script mt italic file=BRUSHSCI.TTF font=calibri bold file=calibrib.ttf font=comic sans ms bold file=comicbd.ttf font=lucida fax italic file=LFAXI.TTF font=frankruehl file=frank.ttf font=meiryo ui bold file=meiryob.ttc font=isocpeur italic file=isocpeui.ttf font=elephant file=ELEPHNT.TTF font=perpetua bold italic file=PERBI___.TTF font=bodoni mt poster compressed file=BOD_PSTC.TTF font=gill sans mt ext condensed bold file=GLSNECB.TTF font=latha file=latha.ttf font=lucida sans demibold roman file=LSANSD.TTF font=maiandra gd file=MAIAN.TTF font=romantic file=romantic.ttf font=guttman rashi bold file=RASHIB.TTF font=monospace 821 bt file=monos.ttf font=ms mincho file=msmincho.ttc font=imprint mt shadow file=IMPRISHA.TTF font=vijaya file=vijaya.ttf font=stylus bt file=stylu.ttf font=lucida sans typewriter bold oblique file=LTYPEBO.TTF font=swiss 721 light extended bt file=swissel.ttf font=simhei file=simhei.ttf font=harlow solid italic file=HARLOWSI.TTF font=eucrosiaupc italic file=upcei.ttf font=franklin gothic heavy italic file=FRAHVIT.TTF font=guttman yad-light file=GYADXL.TTF font=microsoft yahei ui bold file=MSYHBD.TTC font=calibri bold italic file=calibriz.ttf font=guttman rashi file=RASHI.TTF font=showcard gothic file=SHOWG.TTF font=symeteo file=symeteo_.ttf font=book antiqua bold italic file=ANTQUABI.TTF font=century gothic italic file=GOTHICI.TTF font=footlight mt light file=FTLTLT.TTF font=century gothic bold file=GOTHICB.TTF font=lilyupc italic file=upcli.ttf font=bell mt italic file=BELLI.TTF font=rockwell extra bold file=ROCKEB.TTF font=isocpeur file=isocpeur.ttf font=cambria file=cambria.ttc font=onyx file=ONYX.TTF font=iskoola pota file=iskpota.ttf font=arial file=arial.ttf font=webdings file=webdings.ttf font=tw cen mt bold file=TCB_____.TTF font=segoe ui bold file=segoeuib.ttf font=lilyupc bold italic file=upclbi.ttf font=ms gothic file=msgothic.ttc font=bodoni mt bold italic file=BOD_BI.TTF font=guttman frank bold file=FRANKB.TTF font=baskerville old face file=BASKVILL.TTF font=monotxt file=monotxt_.ttf font=aharoni bold file=ahronbd.ttf font=elephant italic file=ELEPHNTI.TTF font=eucrosiaupc file=upcel.ttf font=century gothic bold italic file=GOTHICBI.TTF font=nsimsun file=simsun.ttc font=forte file=FORTE.TTF font=techniclite file=techl___.ttf font=consolas bold file=consolab.ttf font=gill sans mt condensed file=GILC____.TTF font=verdana bold file=verdanab.ttf font=eras medium itc file=ERASMD.TTF font=traditional arabic bold file=tradbdo.ttf font=palatino linotype file=pala.ttf font=irisupc bold italic file=upcibi.ttf font=eras bold itc file=ERASBD.TTF font=franklin gothic book file=FRABK.TTF font=playbill file=PLAYBILL.TTF font=browallia new italic file=browai.ttf font=latha bold file=lathab.ttf font=bodoni mt condensed italic file=BOD_CI.TTF font=calisto mt italic file=CALISTI.TTF font=tunga file=tunga.ttf font=book antiqua bold file=ANTQUAB.TTF font=microsoft new tai lue file=ntailu.ttf font=estrangelo edessa file=estre.ttf font=rockwell italic file=ROCKI.TTF font=mingliu file=mingliu.ttc font=pristina file=PRISTINA.TTF font=gisha file=gisha.ttf font=french script mt file=FRSCRIPT.TTF font=trebuchet ms italic file=trebucit.ttf font=century schoolbook bold file=SCHLBKB.TTF font=microsoft himalaya file=himalaya.ttf font=utsaah italic file=utsaahi.ttf font=segoe script file=segoesc.ttf font=angsana new file=angsa.ttf font=gulimche file=gulim.ttc font=bell mt bold file=BELLB.TTF font=arial narrow bold italic file=ARIALNBI.TTF font=gill sans mt file=GIL_____.TTF font=kristen itc file=ITCKRIST.TTF font=bradley hand itc file=BRADHITC.TTF font=calibri file=calibri.ttf font=batang file=batang.ttc font=cordia new file=cordia.ttf font=calibri light file=calibril.ttf font=freesiaupc file=upcfl.ttf font=century file=CENTURY.TTF font=browalliaupc file=browau.ttf font=gigi file=GIGI.TTF font=symath file=symath__.ttf font=cordia new bold italic file=cordiaz.ttf font=wingdings file=wingding.ttf font=nirmala ui file=NIRMALA.TTF font=guttman logo1 file=LOGO1.TTF font=romantic bold file=romab___.ttf font=shonar bangla file=Shonar.ttf font=cityblueprint file=cityb___.ttf font=century schoolbook bold italic file=SCHLBKBI.TTF font=vani file=Vani.ttf font=harrington file=HARNGTON.TTF font=gungsuhche file=batang.ttc font=guttman miryam bold file=MIRB.TTF font=sansserif boldoblique file=sanssbo_.ttf font=kaiti file=simkai.ttf font=aparajita bold italic file=aparajbi.ttf font=garamond bold file=GARABD.TTF font=guttman drogolin bold file=DROGB.TTF font=copperplate gothic light file=COPRGTL.TTF font=high tower text file=HTOWERT.TTF font=courier new bold file=courbd.ttf font=lucida sans typewriter bold file=LTYPEB.TTF font=nyala file=nyala.TTF font=verdana italic file=verdanai.ttf font=italict file=italict_.ttf font=courier new bold italic file=courbi.ttf font=meiryo bold file=meiryob.ttc font=raavi bold file=raavib.ttf font=kokila bold file=kokilab.ttf font=guttman hatzvi bold file=TZVIB.TTF font=lucida fax demibold italic file=LFAXDI.TTF font=viner hand itc file=VINERITC.TTF font=swiss 721 bold outline bt file=swissbo.ttf font=tahoma bold file=tahomabd.ttf font=mistral file=MISTRAL.TTF font=mangal bold file=mangalb.ttf font=browallia new bold file=browab.ttf font=rod file=rod.ttf font=vineta bt file=vinet.ttf font=simplex file=simplex_.ttf font=mingliu_hkscs-extb file=mingliub.ttc font=guttman mantova bold file=MANTB.TTF font=superfrench file=supef___.ttf font=lilyupc bold file=upclb.ttf font=cambria math file=cambria.ttc font=arial italic file=ariali.ttf font=mingliu_hkscs file=mingliu.ttc font=guttman hatzvi file=TZVIM.TTF font=italicc file=italicc_.ttf font=berlin sans fb demi bold file=BRLNSDB.TTF font=guttman aharoni file=GAHROM.TTF font=ebrima file=ebrima.ttf font=cambria bold italic file=cambriaz.ttf font=countryblueprint file=counb___.ttf font=dutch 801 roman bt file=dutch.ttf font=guttman haim file=GHAIM.TTF font=colonna mt file=COLONNA.TTF font=shruti file=shruti.ttf font=technic file=technic_.ttf font=lucida fax regular file=LFAX.TTF font=microsoft jhenghei bold file=MSJHBD.TTC font=constantia italic file=CONSTANI.TTF font=microsoft yahei ui file=MSYH.TTC font=berlin sans fb bold file=BRLNSB.TTF font=rage italic file=RAGE.TTF font=angsanaupc file=angsau.ttf font=georgia italic file=georgiai.ttf font=ravie file=RAVIE.TTF font=bodoni mt file=BOD_R.TTF font=franklin gothic medium file=framd.ttf font=berlin sans fb file=BRLNSR.TTF font=verdana file=verdana.ttf font=ms reference sans serif file=REFSAN.TTF font=sakkal majalla bold file=majallab.ttf font=amgdt file=AMGDT___.ttf font=corbel file=CORBEL.TTF font=georgia bold file=georgiab.ttf font=times new roman bold italic file=timesbi.ttf font=freestyle script file=FREESCPT.TTF font=vrinda bold file=vrindab.ttf font=traditional arabic file=trado.ttf font=marlett file=marlett.ttf font=segoe ui semibold file=seguisb.ttf font=angsana new italic file=angsai.ttf font=levenim mt file=lvnm.ttf font=eucrosiaupc bold italic file=upcebi.ttf font=microsoft uighur bold file=MSUIGHUB.TTF font=bank gothic medium bt file=bgothm.ttf font=aparajita italic file=aparaji.ttf font=lucida sans italic file=LSANSI.TTF font=tw cen mt file=TCM_____.TTF font=gloucester mt extra condensed file=GLECB.TTF font=guttman kav file=GKAVMED.TTF font=swiss 721 italic bt file=swissi.ttf font=niagara solid file=NIAGSOL.TTF font=microsoft yahei file=MSYH.TTC font=leelawadee file=leelawad.ttf font=cordiaupc bold file=CORDIAUB.TTF font=scriptc file=scriptc_.ttf font=dokchampa file=dokchamp.ttf font=franklin gothic demi file=FRADM.TTF font=monospace 821 italic bt file=monosi.ttf font=cordiaupc bold italic file=CORDIAUZ.TTF font=kodchiangupc bold italic file=upckbi.ttf font=dutch 801 bold bt file=dutchb.ttf font=palatino linotype italic file=palai.ttf font=palatino linotype bold file=palab.ttf font=swiss 721 black condensed bt file=swissck.ttf font=calisto mt bold italic file=CALISTBI.TTF font=tw cen mt condensed bold file=TCCB____.TTF font=batangche file=batang.ttc font=guttman frnew file=FRNEW.TTF font=fangsong file=simfang.ttf font=pmingliu file=mingliu.ttc font=angsanaupc bold file=angsaub.ttf font=vijaya bold file=vijayab.ttf font=aparajita bold file=aparajb.ttf font=ms outlook file=OUTLOOK.TTF font=isoct file=isoct___.ttf font=gabriola file=Gabriola.ttf font=isocp file=isocp___.ttf font=guttman stam file=STAM.TTF font=kokila file=kokila.ttf font=rockwell bold file=ROCKB.TTF font=dutch 801 bold italic bt file=dutchbi.ttf font=swiss 721 black extended bt file=swissek.ttf font=nirmala ui bold file=NIRMALAB.TTF font=kartika file=kartika.ttf font=amdtsymbols file=AMDT_Symbols.ttf font=microsoft jhenghei file=MSJH.TTC font=palatino linotype bold italic file=palabi.ttf font=swiss 721 bold bt file=swissb.ttf font=garamond italic file=GARAIT.TTF font=book antiqua italic file=ANTQUAI.TTF font=guttman kav bold file=GKAVBLD.TTF font=daunpenh file=daunpenh.ttf font=khmer ui file=khmerui.ttf font=eucrosiaupc bold file=upceb.ttf font=castellar file=CASTELAR.TTF font=narkisim file=nrkis.ttf font=sylfaen file=sylfaen.ttf font=meiryo bold italic file=meiryob.ttc font=californian fb file=CALIFR.TTF font=malgun gothic bold file=malgunbd.ttf font=georgia bold italic file=georgiaz.ttf font=bank gothic light bt file=bgothl.ttf font=swiss 721 bold condensed italic bt file=swisscbi.ttf font=cordia new italic file=cordiai.ttf font=dilleniaupc file=upcdl.ttf font=txt file=txt_____.ttf font=angsanaupc italic file=angsaui.ttf font=times new roman italic file=timesi.ttf font=swiss 721 black outline bt file=swissko.ttf font=bookman old style file=BOOKOS.TTF font=dutch 801 extra bold bt file=dutcheb.ttf font=meiryo ui italic file=meiryo.ttc font=symbol file=symbol.ttf font=swiss 721 bold condensed bt file=swisscb.ttf font=century gothic file=GOTHIC.TTF font=tempus sans itc file=TEMPSITC.TTF font=guttman myamfix file=GMYAMFIX.TTF font=swiss 721 condensed italic bt file=swissci.ttf font=corbel italic file=CORBELI.TTF font=isoct3 file=isoct3__.ttf font=segoe print file=segoepr.ttf font=isoct2 file=isoct2__.ttf font=segoe ui light file=segoeuil.ttf font=britannic bold file=BRITANIC.TTF font=cambria italic file=cambriai.ttf font=romantic italic file=romai___.ttf font=proxy 8 file=mtproxy8.ttf font=proxy 9 file=mtproxy9.ttf font=proxy 6 file=mtproxy6.ttf font=utsaah bold file=utsaahb.ttf font=proxy 7 file=mtproxy7.ttf font=proxy 4 file=mtproxy4.ttf font=proxy 5 file=mtproxy5.ttf font=proxy 2 file=mtproxy2.ttf font=trebuchet ms bold file=trebucbd.ttf font=proxy 3 file=mtproxy3.ttf font=lucida sans regular file=LSANS.TTF font=rockwell condensed bold file=ROCCB___.TTF font=guttman mantova-decor file=MANTDEC.TTF font=stencil file=STENCIL.TTF font=lucida bright file=LBRITE.TTF font=guttman yad file=GYADL.TTF font=bernard mt condensed file=BERNHC.TTF font=agency fb bold file=AGENCYB.TTF font=kodchiangupc bold file=upckb.ttf font=malgun gothic file=malgun.ttf font=niagara engraved file=NIAGENG.TTF font=segoe ui semilight file=SEGOEUISL.TTF font=edwardian script itc file=ITCEDSCR.TTF font=book antiqua file=BKANT.TTF font=candara italic file=CANDARAI.TTF font=browalliaupc bold italic file=browauz.ttf font=kodchiangupc italic file=upcki.ttf font=cambria bold file=cambriab.ttf font=geniso file=GENISO.ttf font=californian fb italic file=CALIFI.TTF font=mongolian baiti file=monbaiti.ttf font=andalus file=andlso.ttf font=swiss 721 extended bt file=swisse.ttf font=romant file=romant__.ttf font=microsoft uighur file=msuighur.ttf font=irisupc file=upcil.ttf font=romans file=romans__.ttf font=simplified arabic file=simpo.ttf font=bodoni mt black file=BOD_BLAR.TTF font=curlz mt file=CURLZ___.TTF font=browallia new bold italic file=browaz.ttf font=ms reference specialty file=REFSPCL.TTF font=vrinda file=vrinda.ttf font=engravers mt file=ENGR.TTF font=wide latin file=LATINWD.TTF font=romand file=romand__.ttf font=romanc file=romanc__.ttf font=perpetua file=PER_____.TTF font=ebrima bold file=ebrimabd.ttf font=gill sans ultra bold file=GILSANUB.TTF font=sansserif oblique file=sansso__.ttf font=modern no. 20 file=MOD20.TTF font=bookman old style italic file=BOOKOSI.TTF font=segoe ui file=segoeui_0.ttf font=juice itc file=JUICE___.TTF font=arabic typesetting file=arabtype.ttf font=candara bold italic file=CANDARAZ.TTF font=gautami file=gautami.ttf font=syastro file=syastro_.ttf font=jokerman file=JOKERMAN.TTF font=khmer ui bold file=khmeruib.ttf font=copperplate gothic bold file=COPRGTB.TTF font=simplified arabic bold file=simpbdo.ttf font=hadassah friedlaender bold file=HADASAHB.TTF font=commercial script bt file=comsc.ttf font=angsanaupc bold italic file=angsauz.ttf font=swiss 721 bold condensed outline bt file=swisscbo.ttf font=lucida calligraphy italic file=LCALLIG.TTF font=dotumche file=gulim.ttc font=gulim file=gulim.ttc font=tw cen mt condensed extra bold file=TCCEB.TTF font=trebuchet ms bold italic file=trebucbi.ttf font=jasmineupc bold italic file=upcjbi.ttf font=goudy old style file=GOUDOS.TTF font=guttman kav-light file=GKAVLIT.TTF font=courier new italic file=couri.ttf font=arial rounded mt bold file=ARLRDBD.TTF font=agency fb file=AGENCYR.TTF font=lao ui file=Laoui.ttf font=commercial pi bt file=compi.ttf font=calibri italic file=calibrii.ttf font=segoe ui symbol file=seguisym.ttf font=swiss 721 light bt file=swissl.ttf font=segoe ui italic file=segoeuii.ttf font=swiss 721 black italic bt file=swisski.ttf font=angsana new bold file=angsab.ttf font=freesiaupc bold file=upcfb.ttf font=swiss 721 light italic bt file=swissli.ttf font=arial bold file=arialbd.ttf font=microsoft phagspa file=phagspa.ttf font=cordia new bold file=cordiab.ttf font=hadassah friedlaender file=HADASAH.TTF font=gothici file=gothici_.ttf font=gothicg file=gothicg_.ttf font=lucida sans typewriter regular file=LTYPE.TTF font=gothice file=gothice_.ttf font=arial black file=ariblk.ttf font=century schoolbook file=CENSCBK.TTF font=swiss 721 black condensed italic bt file=swisscki.ttf font=lucida sans typewriter oblique file=LTYPEO.TTF font=gdt file=gdt_____.ttf font=gungsuh file=batang.ttc font=swiss 721 light condensed bt file=swisscl.ttf font=ocr a extended file=OCRAEXT.TTF font=segoe ui bold italic file=segoeuiz.ttf font=gill sans mt italic file=GILI____.TTF font=guttman-aharoni bold file=AHROB.TTF font=blackadder itc file=ITCBLKAD.TTF font=corbel bold file=CORBELB.TTF font=poor richard file=POORICH.TTF font=greeks file=greeks__.ttf font=swiss 721 bt file=swiss.ttf font=goudy old style italic file=GOUDOSI.TTF font=wingdings 3 file=WINGDNG3.TTF font=wingdings 2 file=WINGDNG2.TTF font=vani bold file=Vanib.ttf font=guttman mantova file=MANTM.TTF font=greekc file=greekc__.ttf font=guttman-aram file=ARAM.TTF font=dilleniaupc bold italic file=upcdbi.ttf font=symusic file=symusic_.ttf font=lilyupc file=upcll.ttf font=sakkal majalla file=majalla.ttf font=guttman miryam light file=MIRL.TTF font=proxy 1 file=mtproxy1.ttf font=rockwell condensed file=ROCC____.TTF font=corbel bold italic file=CORBELZ.TTF font=technicbold file=techb___.ttf font=meiryo ui file=meiryo.ttc font=browallia new file=browa.ttf font=microsoft sans serif file=micross.ttf font=isocp3 file=isocp3__.ttf font=isocp2 file=isocp2__.ttf font=irisupc italic file=upcii.ttf font=lucida sans unicode file=l_10646.ttf font=bell mt file=BELL.TTF font=arial narrow italic file=ARIALNI.TTF font=goudy old style bold file=GOUDOSB.TTF font=gadugi bold file=GADUGIB.TTF font=irisupc bold file=upcib.ttf font=aigdt file=AIGDT___.TTF font=franklin gothic medium cond file=FRAMDCN.TTF font=kokila italic file=kokilai.ttf font=comic sans ms file=comic.ttf font=lucida bright demibold italic file=LBRITEDI.TTF font=perpetua italic file=PERI____.TTF font=italic file=italic__.ttf font=arial narrow bold file=ARIALNB.TTF font=georgia file=georgia.ttf font=ms pgothic file=msgothic.ttc font=bodoni mt black italic file=BOD_BLAI.TTF font=gill sans ultra bold condensed file=GILLUBCD.TTF font=snap itc file=SNAP____.TTF font=isocteur file=isocteur.ttf font=calibri light italic file=calibrili.ttf font=utsaah bold italic file=utsaahbi.ttf font=arial bold italic file=arialbi.ttf font=bookman old style bold file=BOOKOSB.TTF font=universal math 1 bt file=umath.ttf font=microsoft tai le bold file=taileb.ttf font=microsoft yahei bold file=MSYHBD.TTC font=arial narrow file=ARIALN.TTF font=consolas file=consola.ttf font=guttman vilna bold file=VILNAB.TTF font=miriam fixed file=mriamc.ttf font=freesiaupc bold italic file=upcfbi.ttf font=monotype corsiva file=MTCORSVA.TTF font=centaur file=CENTAUR.TTF font=microsoft new tai lue bold file=ntailub.ttf font=tahoma file=tahoma.ttf font=bodoni mt condensed bold file=BOD_CB.TTF font=jasmineupc file=upcjl.ttf font=rockwell bold italic file=ROCKBI.TTF font=symap file=symap___.ttf font=guttman frank file=GFRANK.TTF font=miriam file=mriam.ttf font=lucida sans demibold italic file=LSANSDI.TTF font=mt extra file=MTEXTRA.TTF font=acaderef file=AcadEref.ttf font=cordiaupc italic file=CORDIAUI.TTF font=lucida console file=lucon.TTF font=segoe script bold file=segoescb.ttf font=gill sans mt bold file=GILB____.TTF font=high tower text italic file=HTOWERTI.TTF font=vladimir script file=VLADIMIR.TTF font=ms pmincho file=msmincho.ttc font=plantagenet cherokee file=plantc.ttf font=jasmineupc italic file=upcji.ttf font=courier new file=cour.ttf font=david file=david.ttf font=david bold file=davidbd.ttf font=scripts file=scripts_.ttf font=lucida fax demibold file=LFAXD.TTF font=microsoft jhenghei ui bold file=MSJHBD.TTC font=candara file=CANDARA.TTF font=mv boli file=mvboli.ttf font=calisto mt bold file=CALISTB.TTF font=tw cen mt condensed file=TCCM____.TTF font=swiss 721 condensed bt file=swissc.ttf font=constantia bold italic file=CONSTANZ.TTF font=times new roman bold file=timesbd.ttf font=segoe print bold file=segoeprb.ttf font=californian fb bold file=CALIFB.TTF font=kokila bold italic file=kokilabi.ttf font=dilleniaupc bold file=upcdb.ttf font=kalinga bold file=kalingab.ttf font=constantia family=Constantia font=microsoft phagspa bold family=Microsoft PhagsPa font=guttman haim-condensed family=Guttman Haim-Condensed font=bauhaus 93 family=Bauhaus 93 font=garamond family=Garamond font=cordiaupc family=CordiaUPC font=kodchiangupc family=KodchiangUPC font=consolas italic family=Consolas font=bodoni mt condensed family=Bodoni MT Condensed font=swiss 721 black bt family=Swis721 Blk BT font=simplified arabic fixed family=Simplified Arabic Fixed font=microsoft yi baiti family=Microsoft Yi Baiti font=old english text mt family=Old English Text MT font=sansserif bold family=SansSerif font=dotum family=Dotum font=browalliaupc italic family=BrowalliaUPC font=microsoft jhenghei ui family=Microsoft JhengHei UI font=complex family=Complex font=candara bold family=Candara font=angsana new bold italic family=Angsana New font=verdana bold italic family=Verdana font=iskoolapota-bold family=Iskoola Pota font=impact family=Impact font=gautami bold family=Gautami font=utsaah family=Utsaah font=simsun family=SimSun font=cooper black family=Cooper Black font=palace script mt family=Palace Script MT font=raavi family=Raavi font=kartika bold family=Kartika font=papyrus family=Papyrus font=tunga bold family=Tunga font=meiryo italic family=Meiryo font=shonar bangla bold family=Shonar Bangla font=bodoni mt condensed bold italic family=Bodoni MT Condensed font=dilleniaupc italic family=DilleniaUPC font=guttman-courmir family=Guttman-CourMir font=lucida handwriting italic family=Lucida Handwriting font=magneto bold family=Magneto font=dfkai-sb family=DFKai-SB font=gadugi family=Gadugi font=vivaldi italic family=Vivaldi font=felix titling family=Felix Titling font=franklin gothic heavy family=Franklin Gothic Heavy font=trebuchet ms family=Trebuchet MS font=guttman stam1 family=Guttman Stam1 font=matura mt script capitals family=Matura MT Script Capitals font=isocteur italic family=ISOCTEUR font=bookshelf symbol 7 family=Bookshelf Symbol 7 font=levenim mt bold family=Levenim MT font=lucida bright demibold family=Lucida Bright font=bodoni mt italic family=Bodoni MT font=meiryo family=Meiryo font=dutch 801 italic bt family=Dutch801 Rm BT font=haettenschweiler family=Haettenschweiler font=tw cen mt bold italic family=Tw Cen MT font=calisto mt family=Calisto MT font=script mt bold family=Script MT Bold font=swiss 721 bold extended bt family=Swis721 Ex BT font=browalliaupc bold family=BrowalliaUPC font=bookman old style bold italic family=Bookman Old Style font=bodoni mt bold family=Bodoni MT font=euroroman family=EuroRoman font=guttman vilna family=Guttman Vilna font=monospace 821 bold italic bt family=Monospac821 BT font=freesiaupc italic family=FreesiaUPC font=franklin gothic demi cond family=Franklin Gothic Demi Cond font=lucida bright italic family=Lucida Bright font=century schoolbook italic family=Century Schoolbook font=perpetua bold family=Perpetua font=guttman yad-brush family=Guttman Yad-Brush font=moolboran family=MoolBoran font=panroman family=PanRoman font=kalinga family=Kalinga font=lao ui bold family=Lao UI font=sansserif family=SansSerif font=franklin gothic book italic family=Franklin Gothic Book font=monospace 821 bold bt family=Monospac821 BT font=euphemia family=Euphemia font=constantia bold family=Constantia font=parchment family=Parchment font=broadway family=Broadway font=ms ui gothic family=MS UI Gothic font=gill sans mt bold italic family=Gill Sans MT font=perpetua titling mt light family=Perpetua Titling MT font=mingliu-extb family=MingLiU-ExtB font=microsoft tai le family=Microsoft Tai Le font=consolas bold italic family=Consolas font=aparajita family=Aparajita font=eras demi itc family=Eras Demi ITC font=perpetua titling mt bold family=Perpetua Titling MT font=algerian family=Algerian font=eras light itc family=Eras Light ITC font=rockwell family=Rockwell font=franklin gothic medium italic family=Franklin Gothic Medium font=meiryo ui bold italic family=Meiryo UI font=shruti bold family=Shruti font=swiss 721 bold italic bt family=Swis721 BT font=gisha bold family=Gisha font=goudy stout family=Goudy Stout font=guttman drogolin family=Guttman Drogolin font=euroroman oblique family=EuroRoman font=pmingliu-extb family=PMingLiU-ExtB font=times new roman family=Times New Roman font=swiss 721 light condensed italic bt family=Swis721 LtCn BT font=simsun-extb family=SimSun-ExtB font=informal roman family=Informal Roman font=chiller family=Chiller font=kunstler script family=Kunstler Script font=tw cen mt italic family=Tw Cen MT font=jasmineupc bold family=JasmineUPC font=franklin gothic demi italic family=Franklin Gothic Demi font=leelawadee bold family=Leelawadee font=mangal family=Mangal font=brush script mt italic family=Brush Script MT font=calibri bold family=Calibri font=comic sans ms bold family=Comic Sans MS font=lucida fax italic family=Lucida Fax font=frankruehl family=FrankRuehl font=meiryo ui bold family=Meiryo UI font=isocpeur italic family=ISOCPEUR font=elephant family=Elephant font=perpetua bold italic family=Perpetua font=bodoni mt poster compressed family=Bodoni MT Poster Compressed font=gill sans mt ext condensed bold family=Gill Sans MT Ext Condensed Bold font=latha family=Latha font=lucida sans demibold roman family=Lucida Sans font=maiandra gd family=Maiandra GD font=romantic family=Romantic font=guttman rashi bold family=Guttman Rashi font=monospace 821 bt family=Monospac821 BT font=ms mincho family=MS Mincho font=imprint mt shadow family=Imprint MT Shadow font=vijaya family=Vijaya font=stylus bt family=Stylus BT font=lucida sans typewriter bold oblique family=Lucida Sans Typewriter font=swiss 721 light extended bt family=Swis721 LtEx BT font=simhei family=SimHei font=harlow solid italic family=Harlow Solid Italic font=eucrosiaupc italic family=EucrosiaUPC font=franklin gothic heavy italic family=Franklin Gothic Heavy font=guttman yad-light family=Guttman Yad-Light font=microsoft yahei ui bold family=Microsoft YaHei UI font=calibri bold italic family=Calibri font=guttman rashi family=Guttman Rashi font=showcard gothic family=Showcard Gothic font=symeteo family=Symeteo font=book antiqua bold italic family=Book Antiqua font=century gothic italic family=Century Gothic font=footlight mt light family=Footlight MT Light font=century gothic bold family=Century Gothic font=lilyupc italic family=LilyUPC font=bell mt italic family=Bell MT font=rockwell extra bold family=Rockwell Extra Bold font=isocpeur family=ISOCPEUR font=cambria family=Cambria font=onyx family=Onyx font=iskoola pota family=Iskoola Pota font=arial family=Arial font=webdings family=Webdings font=tw cen mt bold family=Tw Cen MT font=segoe ui bold family=Segoe UI font=lilyupc bold italic family=LilyUPC font=ms gothic family=MS Gothic font=bodoni mt bold italic family=Bodoni MT font=guttman frank bold family=Guttman Frank font=baskerville old face family=Baskerville Old Face font=monotxt family=Monotxt font=aharoni bold family=Aharoni font=elephant italic family=Elephant font=eucrosiaupc family=EucrosiaUPC font=century gothic bold italic family=Century Gothic font=nsimsun family=NSimSun font=forte family=Forte font=techniclite family=TechnicLite font=consolas bold family=Consolas font=gill sans mt condensed family=Gill Sans MT Condensed font=verdana bold family=Verdana font=eras medium itc family=Eras Medium ITC font=traditional arabic bold family=Traditional Arabic font=palatino linotype family=Palatino Linotype font=irisupc bold italic family=IrisUPC font=eras bold itc family=Eras Bold ITC font=franklin gothic book family=Franklin Gothic Book font=playbill family=Playbill font=browallia new italic family=Browallia New font=latha bold family=Latha font=bodoni mt condensed italic family=Bodoni MT Condensed font=calisto mt italic family=Calisto MT font=tunga family=Tunga font=book antiqua bold family=Book Antiqua font=microsoft new tai lue family=Microsoft New Tai Lue font=estrangelo edessa family=Estrangelo Edessa font=rockwell italic family=Rockwell font=mingliu family=MingLiU font=pristina family=Pristina font=gisha family=Gisha font=french script mt family=French Script MT font=trebuchet ms italic family=Trebuchet MS font=century schoolbook bold family=Century Schoolbook font=microsoft himalaya family=Microsoft Himalaya font=utsaah italic family=Utsaah font=segoe script family=Segoe Script font=angsana new family=Angsana New font=gulimche family=GulimChe font=bell mt bold family=Bell MT font=arial narrow bold italic family=Arial Narrow font=gill sans mt family=Gill Sans MT font=kristen itc family=Kristen ITC font=bradley hand itc family=Bradley Hand ITC font=calibri family=Calibri font=batang family=Batang font=cordia new family=Cordia New font=calibri light family=Calibri Light font=freesiaupc family=FreesiaUPC font=century family=Century font=browalliaupc family=BrowalliaUPC font=gigi family=Gigi font=symath family=Symath font=cordia new bold italic family=Cordia New font=wingdings family=Wingdings font=nirmala ui family=Nirmala UI font=guttman logo1 family=Guttman Logo1 font=romantic bold family=Romantic font=shonar bangla family=Shonar Bangla font=cityblueprint family=CityBlueprint font=century schoolbook bold italic family=Century Schoolbook font=vani family=Vani font=harrington family=Harrington font=gungsuhche family=GungsuhChe font=guttman miryam bold family=Guttman Miryam font=sansserif boldoblique family=SansSerif font=aparajita bold italic family=Aparajita font=kaiti family=KaiTi font=garamond bold family=Garamond font=guttman drogolin bold family=Guttman Drogolin font=copperplate gothic light family=Copperplate Gothic Light font=high tower text family=High Tower Text font=courier new bold family=Courier New font=lucida sans typewriter bold family=Lucida Sans Typewriter font=nyala family=Nyala font=verdana italic family=Verdana font=italict family=ItalicT font=courier new bold italic family=Courier New font=meiryo bold family=Meiryo font=raavi bold family=Raavi font=kokila bold family=Kokila font=guttman hatzvi bold family=Guttman Hatzvi font=lucida fax demibold italic family=Lucida Fax font=viner hand itc family=Viner Hand ITC font=swiss 721 bold outline bt family=Swis721 BdOul BT font=tahoma bold family=Tahoma font=mistral family=Mistral font=mangal bold family=Mangal font=browallia new bold family=Browallia New font=rod family=Rod font=vineta bt family=Vineta BT font=simplex family=Simplex font=mingliu_hkscs-extb family=MingLiU_HKSCS-ExtB font=guttman mantova bold family=Guttman Mantova font=superfrench family=SuperFrench font=lilyupc bold family=LilyUPC font=cambria math family=Cambria Math font=arial italic family=Arial font=mingliu_hkscs family=MingLiU_HKSCS font=guttman hatzvi family=Guttman Hatzvi font=italicc family=ItalicC font=berlin sans fb demi bold family=Berlin Sans FB Demi font=guttman aharoni family=Guttman Aharoni font=ebrima family=Ebrima font=cambria bold italic family=Cambria font=countryblueprint family=CountryBlueprint font=dutch 801 roman bt family=Dutch801 Rm BT font=guttman haim family=Guttman Haim font=colonna mt family=Colonna MT font=shruti family=Shruti font=technic family=Technic font=lucida fax regular family=Lucida Fax font=microsoft jhenghei bold family=Microsoft JhengHei font=constantia italic family=Constantia font=microsoft yahei ui family=Microsoft YaHei UI font=berlin sans fb bold family=Berlin Sans FB font=rage italic family=Rage Italic font=angsanaupc family=AngsanaUPC font=georgia italic family=Georgia font=ravie family=Ravie font=bodoni mt family=Bodoni MT font=franklin gothic medium family=Franklin Gothic Medium font=berlin sans fb family=Berlin Sans FB font=verdana family=Verdana font=ms reference sans serif family=MS Reference Sans Serif font=sakkal majalla bold family=Sakkal Majalla font=amgdt family=AMGDT font=corbel family=Corbel font=georgia bold family=Georgia font=times new roman bold italic family=Times New Roman font=freestyle script family=Freestyle Script font=vrinda bold family=Vrinda font=marlett family=Marlett font=traditional arabic family=Traditional Arabic font=segoe ui semibold family=Segoe UI Semibold font=angsana new italic family=Angsana New font=levenim mt family=Levenim MT font=eucrosiaupc bold italic family=EucrosiaUPC font=microsoft uighur bold family=Microsoft Uighur font=bank gothic medium bt family=BankGothic Md BT font=aparajita italic family=Aparajita font=lucida sans italic family=Lucida Sans font=tw cen mt family=Tw Cen MT font=gloucester mt extra condensed family=Gloucester MT Extra Condensed font=guttman kav family=Guttman Kav font=swiss 721 italic bt family=Swis721 BT font=niagara solid family=Niagara Solid font=microsoft yahei family=Microsoft YaHei font=leelawadee family=Leelawadee font=cordiaupc bold family=CordiaUPC font=scriptc family=ScriptC font=dokchampa family=DokChampa font=franklin gothic demi family=Franklin Gothic Demi font=monospace 821 italic bt family=Monospac821 BT font=cordiaupc bold italic family=CordiaUPC font=kodchiangupc bold italic family=KodchiangUPC font=dutch 801 bold bt family=Dutch801 Rm BT font=palatino linotype italic family=Palatino Linotype font=palatino linotype bold family=Palatino Linotype font=swiss 721 black condensed bt family=Swis721 BlkCn BT font=calisto mt bold italic family=Calisto MT font=tw cen mt condensed bold family=Tw Cen MT Condensed font=batangche family=BatangChe font=guttman frnew family=Guttman Frnew font=fangsong family=FangSong font=pmingliu family=PMingLiU font=angsanaupc bold family=AngsanaUPC font=vijaya bold family=Vijaya font=aparajita bold family=Aparajita font=ms outlook family=MS Outlook font=isoct family=ISOCT font=gabriola family=Gabriola font=isocp family=ISOCP font=guttman stam family=Guttman Stam font=kokila family=Kokila font=rockwell bold family=Rockwell font=dutch 801 bold italic bt family=Dutch801 Rm BT font=swiss 721 black extended bt family=Swis721 BlkEx BT font=nirmala ui bold family=Nirmala UI font=kartika family=Kartika font=amdtsymbols family=AmdtSymbols font=microsoft jhenghei family=Microsoft JhengHei font=palatino linotype bold italic family=Palatino Linotype font=swiss 721 bold bt family=Swis721 BT font=garamond italic family=Garamond font=book antiqua italic family=Book Antiqua font=guttman kav bold family=Guttman Kav font=daunpenh family=DaunPenh font=khmer ui family=Khmer UI font=eucrosiaupc bold family=EucrosiaUPC font=castellar family=Castellar font=narkisim family=Narkisim font=sylfaen family=Sylfaen font=meiryo bold italic family=Meiryo font=californian fb family=Californian FB font=malgun gothic bold family=Malgun Gothic font=georgia bold italic family=Georgia font=bank gothic light bt family=BankGothic Lt BT font=swiss 721 bold condensed italic bt family=Swis721 Cn BT font=cordia new italic family=Cordia New font=dilleniaupc family=DilleniaUPC font=txt family=Txt font=angsanaupc italic family=AngsanaUPC font=times new roman italic family=Times New Roman font=swiss 721 black outline bt family=Swis721 BlkOul BT font=bookman old style family=Bookman Old Style font=dutch 801 extra bold bt family=Dutch801 XBd BT font=meiryo ui italic family=Meiryo UI font=symbol family=Symbol font=swiss 721 bold condensed bt family=Swis721 Cn BT font=century gothic family=Century Gothic font=tempus sans itc family=Tempus Sans ITC font=guttman myamfix family=Guttman Myamfix font=swiss 721 condensed italic bt family=Swis721 Cn BT font=corbel italic family=Corbel font=isoct3 family=ISOCT3 font=segoe print family=Segoe Print font=isoct2 family=ISOCT2 font=segoe ui light family=Segoe UI Light font=britannic bold family=Britannic Bold font=cambria italic family=Cambria font=romantic italic family=Romantic font=proxy 8 family=Proxy 8 font=proxy 9 family=Proxy 9 font=proxy 6 family=Proxy 6 font=utsaah bold family=Utsaah font=proxy 7 family=Proxy 7 font=proxy 4 family=Proxy 4 font=proxy 5 family=Proxy 5 font=proxy 2 family=Proxy 2 font=trebuchet ms bold family=Trebuchet MS font=proxy 3 family=Proxy 3 font=lucida sans regular family=Lucida Sans font=rockwell condensed bold family=Rockwell Condensed font=guttman mantova-decor family=Guttman Mantova-Decor font=stencil family=Stencil font=lucida bright family=Lucida Bright font=guttman yad family=Guttman Yad font=bernard mt condensed family=Bernard MT Condensed font=agency fb bold family=Agency FB font=kodchiangupc bold family=KodchiangUPC font=malgun gothic family=Malgun Gothic font=niagara engraved family=Niagara Engraved font=segoe ui semilight family=Segoe UI Semilight font=edwardian script itc family=Edwardian Script ITC font=book antiqua family=Book Antiqua font=candara italic family=Candara font=browalliaupc bold italic family=BrowalliaUPC font=kodchiangupc italic family=KodchiangUPC font=cambria bold family=Cambria font=geniso family=GENISO font=californian fb italic family=Californian FB font=mongolian baiti family=Mongolian Baiti font=andalus family=Andalus font=swiss 721 extended bt family=Swis721 Ex BT font=romant family=RomanT font=microsoft uighur family=Microsoft Uighur font=irisupc family=IrisUPC font=romans family=RomanS font=simplified arabic family=Simplified Arabic font=bodoni mt black family=Bodoni MT Black font=curlz mt family=Curlz MT font=browallia new bold italic family=Browallia New font=ms reference specialty family=MS Reference Specialty font=vrinda family=Vrinda font=engravers mt family=Engravers MT font=wide latin family=Wide Latin font=romand family=RomanD font=romanc family=RomanC font=perpetua family=Perpetua font=ebrima bold family=Ebrima font=gill sans ultra bold family=Gill Sans Ultra Bold font=sansserif oblique family=SansSerif font=modern no. 20 family=Modern No. 20 font=bookman old style italic family=Bookman Old Style font=segoe ui family=Segoe UI font=juice itc family=Juice ITC font=arabic typesetting family=Arabic Typesetting font=candara bold italic family=Candara font=gautami family=Gautami font=syastro family=Syastro font=jokerman family=Jokerman font=khmer ui bold family=Khmer UI font=copperplate gothic bold family=Copperplate Gothic Bold font=simplified arabic bold family=Simplified Arabic font=hadassah friedlaender bold family=Hadassah Friedlaender font=commercial script bt family=CommercialScript BT font=angsanaupc bold italic family=AngsanaUPC font=swiss 721 bold condensed outline bt family=Swis721 BdCnOul BT font=lucida calligraphy italic family=Lucida Calligraphy font=gulim family=Gulim font=dotumche family=DotumChe font=tw cen mt condensed extra bold family=Tw Cen MT Condensed Extra Bold font=trebuchet ms bold italic family=Trebuchet MS font=jasmineupc bold italic family=JasmineUPC font=goudy old style family=Goudy Old Style font=guttman kav-light family=Guttman Kav-Light font=courier new italic family=Courier New font=arial rounded mt bold family=Arial Rounded MT Bold font=agency fb family=Agency FB font=lao ui family=Lao UI font=commercial pi bt family=CommercialPi BT font=calibri italic family=Calibri font=segoe ui symbol family=Segoe UI Symbol font=swiss 721 light bt family=Swis721 Lt BT font=segoe ui italic family=Segoe UI font=swiss 721 black italic bt family=Swis721 Blk BT font=angsana new bold family=Angsana New font=freesiaupc bold family=FreesiaUPC font=swiss 721 light italic bt family=Swis721 Lt BT font=arial bold family=Arial font=microsoft phagspa family=Microsoft PhagsPa font=cordia new bold family=Cordia New font=hadassah friedlaender family=Hadassah Friedlaender font=gothici family=GothicI font=gothicg family=GothicG font=lucida sans typewriter regular family=Lucida Sans Typewriter font=gothice family=GothicE font=arial black family=Arial Black font=century schoolbook family=Century Schoolbook font=swiss 721 black condensed italic bt family=Swis721 BlkCn BT font=lucida sans typewriter oblique family=Lucida Sans Typewriter font=gdt family=GDT font=gungsuh family=Gungsuh font=swiss 721 light condensed bt family=Swis721 LtCn BT font=ocr a extended family=OCR A Extended font=segoe ui bold italic family=Segoe UI font=gill sans mt italic family=Gill Sans MT font=guttman-aharoni bold family=Guttman-Aharoni font=blackadder itc family=Blackadder ITC font=corbel bold family=Corbel font=poor richard family=Poor Richard font=greeks family=GreekS font=swiss 721 bt family=Swis721 BT font=goudy old style italic family=Goudy Old Style font=wingdings 3 family=Wingdings 3 font=wingdings 2 family=Wingdings 2 font=vani bold family=Vani font=guttman mantova family=Guttman Mantova font=greekc family=GreekC font=guttman-aram family=Guttman-Aram font=dilleniaupc bold italic family=DilleniaUPC font=symusic family=Symusic font=lilyupc family=LilyUPC font=sakkal majalla family=Sakkal Majalla font=guttman miryam light family=Guttman Miryam font=proxy 1 family=Proxy 1 font=rockwell condensed family=Rockwell Condensed font=corbel bold italic family=Corbel font=technicbold family=TechnicBold font=meiryo ui family=Meiryo UI font=browallia new family=Browallia New font=microsoft sans serif family=Microsoft Sans Serif font=isocp3 family=ISOCP3 font=isocp2 family=ISOCP2 font=irisupc italic family=IrisUPC font=lucida sans unicode family=Lucida Sans Unicode font=bell mt family=Bell MT font=arial narrow italic family=Arial Narrow font=goudy old style bold family=Goudy Old Style font=gadugi bold family=Gadugi font=irisupc bold family=IrisUPC font=aigdt family=AIGDT font=franklin gothic medium cond family=Franklin Gothic Medium Cond font=kokila italic family=Kokila font=comic sans ms family=Comic Sans MS font=lucida bright demibold italic family=Lucida Bright font=perpetua italic family=Perpetua font=italic family=Italic font=arial narrow bold family=Arial Narrow font=georgia family=Georgia font=ms pgothic family=MS PGothic font=bodoni mt black italic family=Bodoni MT Black font=gill sans ultra bold condensed family=Gill Sans Ultra Bold Condensed font=snap itc family=Snap ITC font=isocteur family=ISOCTEUR font=utsaah bold italic family=Utsaah font=calibri light italic family=Calibri Light font=arial bold italic family=Arial font=bookman old style bold family=Bookman Old Style font=universal math 1 bt family=UniversalMath1 BT font=microsoft tai le bold family=Microsoft Tai Le font=microsoft yahei bold family=Microsoft YaHei font=arial narrow family=Arial Narrow font=consolas family=Consolas font=guttman vilna bold family=Guttman Vilna font=miriam fixed family=Miriam Fixed font=freesiaupc bold italic family=FreesiaUPC font=monotype corsiva family=Monotype Corsiva font=centaur family=Centaur font=microsoft new tai lue bold family=Microsoft New Tai Lue font=tahoma family=Tahoma font=bodoni mt condensed bold family=Bodoni MT Condensed font=jasmineupc family=JasmineUPC font=rockwell bold italic family=Rockwell font=symap family=Symap font=guttman frank family=Guttman Frank font=miriam family=Miriam font=lucida sans demibold italic family=Lucida Sans font=mt extra family=MT Extra font=acaderef family=AcadEref font=cordiaupc italic family=CordiaUPC font=lucida console family=Lucida Console font=segoe script bold family=Segoe Script font=gill sans mt bold family=Gill Sans MT font=high tower text italic family=High Tower Text font=vladimir script family=Vladimir Script font=ms pmincho family=MS PMincho font=plantagenet cherokee family=Plantagenet Cherokee font=jasmineupc italic family=JasmineUPC font=courier new family=Courier New font=david family=David font=david bold family=David font=scripts family=ScriptS font=lucida fax demibold family=Lucida Fax font=microsoft jhenghei ui bold family=Microsoft JhengHei UI font=candara family=Candara font=mv boli family=MV Boli font=calisto mt bold family=Calisto MT font=tw cen mt condensed family=Tw Cen MT Condensed font=swiss 721 condensed bt family=Swis721 Cn BT font=constantia bold italic family=Constantia font=times new roman bold family=Times New Roman font=segoe print bold family=Segoe Print font=californian fb bold family=Californian FB font=kokila bold italic family=Kokila font=dilleniaupc bold family=DilleniaUPC font=kalinga bold family=Kalinga family=constantia fonts=[Constantia, Constantia Italic, Constantia Bold, Constantia Bold Italic] family=amgdt fonts=[AMGDT] family=corbel fonts=[Corbel, Corbel Italic, Corbel Bold, Corbel Bold Italic] family=guttman haim-condensed fonts=[Guttman Haim-Condensed] family=bauhaus 93 fonts=[Bauhaus 93] family=garamond fonts=[Garamond, Garamond Bold, Garamond Italic] family=cordiaupc fonts=[CordiaUPC, CordiaUPC Bold, CordiaUPC Bold Italic, CordiaUPC Italic] family=freestyle script fonts=[Freestyle Script] family=kodchiangupc fonts=[KodchiangUPC, KodchiangUPC Italic, KodchiangUPC Bold, KodchiangUPC Bold Italic] family=bodoni mt condensed fonts=[Bodoni MT Condensed Bold, Bodoni MT Condensed Bold Italic, Bodoni MT Condensed Italic, Bodoni MT Condensed] family=marlett fonts=[Marlett] family=simplified arabic fixed fonts=[Simplified Arabic Fixed] family=traditional arabic fonts=[Traditional Arabic, Traditional Arabic Bold] family=microsoft yi baiti fonts=[Microsoft Yi Baiti] family=old english text mt fonts=[Old English Text MT] family=segoe ui semibold fonts=[Segoe UI Semibold] family=dotum fonts=[Dotum] family=levenim mt fonts=[Levenim MT, Levenim MT Bold] family=microsoft jhenghei ui fonts=[Microsoft JhengHei UI, Microsoft JhengHei UI Bold] family=complex fonts=[Complex] family=lucida calligraphy fonts=[Lucida Calligraphy Italic] family=tw cen mt fonts=[Tw Cen MT Bold, Tw Cen MT Bold Italic, Tw Cen MT, Tw Cen MT Italic] family=gloucester mt extra condensed fonts=[Gloucester MT Extra Condensed] family=guttman kav fonts=[Guttman Kav Bold, Guttman Kav] family=impact fonts=[Impact] family=niagara solid fonts=[Niagara Solid] family=microsoft yahei fonts=[Microsoft YaHei, Microsoft YaHei Bold, Microsoft YaHei, Microsoft YaHei Bold] family=leelawadee fonts=[Leelawadee, Leelawadee Bold] family=utsaah fonts=[Utsaah, Utsaah Bold, Utsaah Bold Italic, Utsaah Italic] family=scriptc fonts=[ScriptC] family=dokchampa fonts=[DokChampa] family=simsun fonts=[SimSun] family=cooper black fonts=[Cooper Black] family=franklin gothic demi fonts=[Franklin Gothic Demi, Franklin Gothic Demi Italic] family=palace script mt fonts=[Palace Script MT] family=raavi fonts=[Raavi, Raavi Bold] family=papyrus fonts=[Papyrus] family=batangche fonts=[BatangChe] family=guttman-courmir fonts=[Guttman-CourMir] family=guttman frnew fonts=[Guttman Frnew] family=fangsong fonts=[FangSong] family=dfkai-sb fonts=[DFKai-SB] family=gadugi fonts=[Gadugi, Gadugi Bold] family=pmingliu fonts=[PMingLiU] family=felix titling fonts=[Felix Titling] family=guttman-aharoni fonts=[Guttman-Aharoni Bold] family=franklin gothic heavy fonts=[Franklin Gothic Heavy, Franklin Gothic Heavy Italic] family=trebuchet ms fonts=[Trebuchet MS, Trebuchet MS Italic, Trebuchet MS Bold, Trebuchet MS Bold Italic] family=guttman stam1 fonts=[Guttman Stam1] family=matura mt script capitals fonts=[Matura MT Script Capitals] family=bookshelf symbol 7 fonts=[Bookshelf Symbol 7] family=ms outlook fonts=[MS Outlook] family=isoct fonts=[ISOCT] family=gabriola fonts=[Gabriola] family=swis721 bt fonts=[Swiss 721 BT, Swiss 721 Bold BT, Swiss 721 Bold Italic BT, Swiss 721 Italic BT] family=isocp fonts=[ISOCP] family=guttman stam fonts=[Guttman Stam] family=kokila fonts=[Kokila, Kokila Bold, Kokila Bold Italic, Kokila Italic] family=meiryo fonts=[Meiryo, Meiryo Italic, Meiryo Bold, Meiryo Bold Italic] family=swis721 ltex bt fonts=[Swiss 721 Light Extended BT] family=haettenschweiler fonts=[Haettenschweiler] family=kartika fonts=[Kartika, Kartika Bold] family=amdtsymbols fonts=[AmdtSymbols] family=microsoft jhenghei fonts=[Microsoft JhengHei, Microsoft JhengHei Bold, Microsoft JhengHei, Microsoft JhengHei Bold] family=daunpenh fonts=[DaunPenh] family=khmer ui fonts=[Khmer UI, Khmer UI Bold] family=castellar fonts=[Castellar] family=calisto mt fonts=[Calisto MT, Calisto MT Bold, Calisto MT Bold Italic, Calisto MT Italic] family=script mt bold fonts=[Script MT Bold] family=narkisim fonts=[Narkisim] family=sylfaen fonts=[Sylfaen] family=californian fb fonts=[Californian FB Bold, Californian FB Italic, Californian FB] family=euroroman fonts=[EuroRoman Oblique, EuroRoman] family=guttman vilna fonts=[Guttman Vilna, Guttman Vilna Bold] family=franklin gothic demi cond fonts=[Franklin Gothic Demi Cond] family=guttman yad-brush fonts=[Guttman Yad-Brush] family=moolboran fonts=[MoolBoran] family=lucida handwriting fonts=[Lucida Handwriting Italic] family=panroman fonts=[PanRoman] family=dilleniaupc fonts=[DilleniaUPC, DilleniaUPC Italic, DilleniaUPC Bold, DilleniaUPC Bold Italic] family=kalinga fonts=[Kalinga, Kalinga Bold] family=txt fonts=[Txt] family=sansserif fonts=[SansSerif BoldOblique, SansSerif Bold, SansSerif Oblique, SansSerif] family=swis721 ex bt fonts=[Swiss 721 Extended BT, Swiss 721 Bold Extended BT] family=euphemia fonts=[Euphemia] family=bookman old style fonts=[Bookman Old Style, Bookman Old Style Bold, Bookman Old Style Bold Italic, Bookman Old Style Italic] family=symbol fonts=[Symbol] family=parchment fonts=[Parchment] family=berlin sans fb demi fonts=[Berlin Sans FB Demi Bold] family=century gothic fonts=[Century Gothic, Century Gothic Bold, Century Gothic Bold Italic, Century Gothic Italic] family=broadway fonts=[Broadway] family=tempus sans itc fonts=[Tempus Sans ITC] family=ms ui gothic fonts=[MS UI Gothic] family=guttman myamfix fonts=[Guttman Myamfix] family=isoct3 fonts=[ISOCT3] family=segoe print fonts=[Segoe Print, Segoe Print Bold] family=isoct2 fonts=[ISOCT2] family=lucida sans fonts=[Lucida Sans Regular, Lucida Sans Demibold Roman, Lucida Sans Demibold Italic, Lucida Sans Italic] family=segoe ui light fonts=[Segoe UI Light] family=britannic bold fonts=[Britannic Bold] family=mingliu-extb fonts=[MingLiU-ExtB] family=microsoft tai le fonts=[Microsoft Tai Le, Microsoft Tai Le Bold] family=proxy 8 fonts=[Proxy 8] family=proxy 9 fonts=[Proxy 9] family=aparajita fonts=[Aparajita, Aparajita Bold, Aparajita Bold Italic, Aparajita Italic] family=aharoni fonts=[Aharoni Bold] family=proxy 6 fonts=[Proxy 6] family=proxy 7 fonts=[Proxy 7] family=proxy 4 fonts=[Proxy 4] family=eras demi itc fonts=[Eras Demi ITC] family=proxy 5 fonts=[Proxy 5] family=proxy 2 fonts=[Proxy 2] family=algerian fonts=[Algerian] family=eras light itc fonts=[Eras Light ITC] family=rockwell fonts=[Rockwell, Rockwell Bold, Rockwell Bold Italic, Rockwell Italic] family=proxy 3 fonts=[Proxy 3] family=guttman mantova-decor fonts=[Guttman Mantova-Decor] family=stencil fonts=[Stencil] family=goudy stout fonts=[Goudy Stout] family=guttman drogolin fonts=[Guttman Drogolin Bold, Guttman Drogolin] family=lucida bright fonts=[Lucida Bright, Lucida Bright Demibold, Lucida Bright Demibold Italic, Lucida Bright Italic] family=pmingliu-extb fonts=[PMingLiU-ExtB] family=guttman yad fonts=[Guttman Yad] family=times new roman fonts=[Times New Roman, Times New Roman Italic, Times New Roman Bold, Times New Roman Bold Italic] family=bernard mt condensed fonts=[Bernard MT Condensed] family=simsun-extb fonts=[SimSun-ExtB] family=informal roman fonts=[Informal Roman] family=malgun gothic fonts=[Malgun Gothic, Malgun Gothic Bold] family=niagara engraved fonts=[Niagara Engraved] family=segoe ui semilight fonts=[Segoe UI Semilight] family=dutch801 rm bt fonts=[Dutch 801 Roman BT, Dutch 801 Bold BT, Dutch 801 Bold Italic BT, Dutch 801 Italic BT] family=chiller fonts=[Chiller] family=edwardian script itc fonts=[Edwardian Script ITC] family=kunstler script fonts=[Kunstler Script] family=book antiqua fonts=[Book Antiqua Bold, Book Antiqua Bold Italic, Book Antiqua Italic, Book Antiqua] family=swis721 blk bt fonts=[Swiss 721 Black BT, Swiss 721 Black Italic BT] family=mangal fonts=[Mangal, Mangal Bold] family=geniso fonts=[GENISO] family=guttman miryam fonts=[Guttman Miryam Bold, Guttman Miryam Light] family=frankruehl fonts=[FrankRuehl] family=mongolian baiti fonts=[Mongolian Baiti] family=elephant fonts=[Elephant, Elephant Italic] family=andalus fonts=[Andalus] family=romant fonts=[RomanT] family=microsoft uighur fonts=[Microsoft Uighur, Microsoft Uighur Bold] family=irisupc fonts=[IrisUPC, IrisUPC Italic, IrisUPC Bold, IrisUPC Bold Italic] family=romans fonts=[RomanS] family=simplified arabic fonts=[Simplified Arabic, Simplified Arabic Bold] family=bodoni mt black fonts=[Bodoni MT Black Italic, Bodoni MT Black] family=bodoni mt poster compressed fonts=[Bodoni MT Poster Compressed] family=curlz mt fonts=[Curlz MT] family=gill sans mt ext condensed bold fonts=[Gill Sans MT Ext Condensed Bold] family=latha fonts=[Latha, Latha Bold] family=ms reference specialty fonts=[MS Reference Specialty] family=dutch801 xbd bt fonts=[Dutch 801 Extra Bold BT] family=vrinda fonts=[Vrinda, Vrinda Bold] family=engravers mt fonts=[Engravers MT] family=wide latin fonts=[Wide Latin] family=maiandra gd fonts=[Maiandra GD] family=romand fonts=[RomanD] family=romanc fonts=[RomanC] family=perpetua fonts=[Perpetua, Perpetua Bold, Perpetua Bold Italic, Perpetua Italic] family=romantic fonts=[Romantic Bold, Romantic Italic, Romantic] family=gill sans ultra bold fonts=[Gill Sans Ultra Bold] family=modern no. 20 fonts=[Modern No. 20] family=commercialpi bt fonts=[Commercial Pi BT] family=ms mincho fonts=[MS Mincho] family=imprint mt shadow fonts=[Imprint MT Shadow] family=segoe ui fonts=[Segoe UI Bold, Segoe UI Italic, Segoe UI Bold Italic, Segoe UI] family=juice itc fonts=[Juice ITC] family=arabic typesetting fonts=[Arabic Typesetting] family=vijaya fonts=[Vijaya, Vijaya Bold] family=stylus bt fonts=[Stylus BT] family=gautami fonts=[Gautami, Gautami Bold] family=syastro fonts=[Syastro] family=jokerman fonts=[Jokerman] family=simhei fonts=[SimHei] family=harlow solid italic fonts=[Harlow Solid Italic] family=guttman yad-light fonts=[Guttman Yad-Light] family=copperplate gothic bold fonts=[Copperplate Gothic Bold] family=guttman rashi fonts=[Guttman Rashi, Guttman Rashi Bold] family=showcard gothic fonts=[Showcard Gothic] family=symeteo fonts=[Symeteo] family=footlight mt light fonts=[Footlight MT Light] family=gulim fonts=[Gulim] family=dotumche fonts=[DotumChe] family=tw cen mt condensed extra bold fonts=[Tw Cen MT Condensed Extra Bold] family=goudy old style fonts=[Goudy Old Style, Goudy Old Style Bold, Goudy Old Style Italic] family=guttman kav-light fonts=[Guttman Kav-Light] family=arial rounded mt bold fonts=[Arial Rounded MT Bold] family=rockwell extra bold fonts=[Rockwell Extra Bold] family=isocpeur fonts=[ISOCPEUR Italic, ISOCPEUR] family=cambria fonts=[Cambria, Cambria Italic, Cambria Bold, Cambria Bold Italic] family=lucida sans typewriter fonts=[Lucida Sans Typewriter Regular, Lucida Sans Typewriter Bold, Lucida Sans Typewriter Bold Oblique, Lucida Sans Typewriter Oblique] family=onyx fonts=[Onyx] family=agency fb fonts=[Agency FB Bold, Agency FB] family=iskoola pota fonts=[Iskoola Pota, IskoolaPota-Bold] family=arial fonts=[Arial, Arial Italic, Arial Bold, Arial Bold Italic] family=lao ui fonts=[Lao UI, Lao UI Bold] family=webdings fonts=[Webdings] family=swis721 bdcnoul bt fonts=[Swiss 721 Bold Condensed Outline BT] family=segoe ui symbol fonts=[Segoe UI Symbol] family=bankgothic lt bt fonts=[Bank Gothic Light BT] family=ms gothic fonts=[MS Gothic] family=baskerville old face fonts=[Baskerville Old Face] family=monotxt fonts=[Monotxt] family=swis721 bdoul bt fonts=[Swiss 721 Bold Outline BT] family=eucrosiaupc fonts=[EucrosiaUPC, EucrosiaUPC Italic, EucrosiaUPC Bold, EucrosiaUPC Bold Italic] family=microsoft phagspa fonts=[Microsoft PhagsPa, Microsoft PhagsPa Bold] family=nsimsun fonts=[NSimSun] family=hadassah friedlaender fonts=[Hadassah Friedlaender, Hadassah Friedlaender Bold] family=magneto fonts=[Magneto Bold] family=forte fonts=[Forte] family=techniclite fonts=[TechnicLite] family=gothici fonts=[GothicI] family=gothicg fonts=[GothicG] family=gill sans mt condensed fonts=[Gill Sans MT Condensed] family=gothice fonts=[GothicE] family=arial black fonts=[Arial Black] family=century schoolbook fonts=[Century Schoolbook, Century Schoolbook Bold, Century Schoolbook Bold Italic, Century Schoolbook Italic] family=eras medium itc fonts=[Eras Medium ITC] family=gdt fonts=[GDT] family=palatino linotype fonts=[Palatino Linotype, Palatino Linotype Italic, Palatino Linotype Bold, Palatino Linotype Bold Italic] family=gungsuh fonts=[Gungsuh] family=eras bold itc fonts=[Eras Bold ITC] family=franklin gothic book fonts=[Franklin Gothic Book, Franklin Gothic Book Italic] family=playbill fonts=[Playbill] family=ocr a extended fonts=[OCR A Extended] family=tunga fonts=[Tunga, Tunga Bold] family=swis721 ltcn bt fonts=[Swiss 721 Light Condensed BT, Swiss 721 Light Condensed Italic BT] family=blackadder itc fonts=[Blackadder ITC] family=commercialscript bt fonts=[Commercial Script BT] family=swis721 blkcn bt fonts=[Swiss 721 Black Condensed BT, Swiss 721 Black Condensed Italic BT] family=microsoft new tai lue fonts=[Microsoft New Tai Lue, Microsoft New Tai Lue Bold] family=estrangelo edessa fonts=[Estrangelo Edessa] family=poor richard fonts=[Poor Richard] family=greeks fonts=[GreekS] family=universalmath1 bt fonts=[Universal Math 1 BT] family=mingliu fonts=[MingLiU] family=wingdings 3 fonts=[Wingdings 3] family=swis721 cn bt fonts=[Swiss 721 Condensed BT, Swiss 721 Bold Condensed BT, Swiss 721 Bold Condensed Italic BT, Swiss 721 Condensed Italic BT] family=pristina fonts=[Pristina] family=wingdings 2 fonts=[Wingdings 2] family=gisha fonts=[Gisha, Gisha Bold] family=perpetua titling mt fonts=[Perpetua Titling MT Bold, Perpetua Titling MT Light] family=swis721 blkoul bt fonts=[Swiss 721 Black Outline BT] family=french script mt fonts=[French Script MT] family=guttman mantova fonts=[Guttman Mantova Bold, Guttman Mantova] family=greekc fonts=[GreekC] family=guttman-aram fonts=[Guttman-Aram] family=microsoft himalaya fonts=[Microsoft Himalaya] family=bankgothic md bt fonts=[Bank Gothic Medium BT] family=symusic fonts=[Symusic] family=segoe script fonts=[Segoe Script, Segoe Script Bold] family=angsana new fonts=[Angsana New, Angsana New Italic, Angsana New Bold, Angsana New Bold Italic] family=gulimche fonts=[GulimChe] family=lilyupc fonts=[LilyUPC, LilyUPC Italic, LilyUPC Bold, LilyUPC Bold Italic] family=sakkal majalla fonts=[Sakkal Majalla, Sakkal Majalla Bold] family=proxy 1 fonts=[Proxy 1] family=gill sans mt fonts=[Gill Sans MT, Gill Sans MT Bold, Gill Sans MT Bold Italic, Gill Sans MT Italic] family=kristen itc fonts=[Kristen ITC] family=rockwell condensed fonts=[Rockwell Condensed, Rockwell Condensed Bold] family=bradley hand itc fonts=[Bradley Hand ITC] family=vivaldi fonts=[Vivaldi Italic] family=calibri fonts=[Calibri, Calibri Italic, Calibri Bold, Calibri Bold Italic] family=batang fonts=[Batang] family=cordia new fonts=[Cordia New, Cordia New Italic, Cordia New Bold, Cordia New Bold Italic] family=calibri light fonts=[Calibri Light Italic, Calibri Light] family=technicbold fonts=[TechnicBold] family=meiryo ui fonts=[Meiryo UI, Meiryo UI Italic, Meiryo UI Bold, Meiryo UI Bold Italic] family=browallia new fonts=[Browallia New, Browallia New Italic, Browallia New Bold, Browallia New Bold Italic] family=freesiaupc fonts=[FreesiaUPC, FreesiaUPC Italic, FreesiaUPC Bold, FreesiaUPC Bold Italic] family=century fonts=[Century] family=browalliaupc fonts=[BrowalliaUPC, BrowalliaUPC Italic, BrowalliaUPC Bold, BrowalliaUPC Bold Italic] family=microsoft sans serif fonts=[Microsoft Sans Serif] family=gigi fonts=[Gigi] family=isocp3 fonts=[ISOCP3] family=isocp2 fonts=[ISOCP2] family=symath fonts=[Symath] family=lucida sans unicode fonts=[Lucida Sans Unicode] family=bell mt fonts=[Bell MT, Bell MT Bold, Bell MT Italic] family=wingdings fonts=[Wingdings] family=nirmala ui fonts=[Nirmala UI, Nirmala UI Bold] family=guttman logo1 fonts=[Guttman Logo1] family=aigdt fonts=[AIGDT] family=shonar bangla fonts=[Shonar Bangla, Shonar Bangla Bold] family=franklin gothic medium cond fonts=[Franklin Gothic Medium Cond] family=cityblueprint fonts=[CityBlueprint] family=comic sans ms fonts=[Comic Sans MS, Comic Sans MS Bold] family=italic fonts=[Italic] family=swis721 lt bt fonts=[Swiss 721 Light BT, Swiss 721 Light Italic BT] family=vani fonts=[Vani, Vani Bold] family=harrington fonts=[Harrington] family=georgia fonts=[Georgia, Georgia Italic, Georgia Bold, Georgia Bold Italic] family=gungsuhche fonts=[GungsuhChe] family=ms pgothic fonts=[MS PGothic] family=gill sans ultra bold condensed fonts=[Gill Sans Ultra Bold Condensed] family=snap itc fonts=[Snap ITC] family=isocteur fonts=[ISOCTEUR Italic, ISOCTEUR] family=kaiti fonts=[KaiTi] family=arial narrow fonts=[Arial Narrow, Arial Narrow Bold, Arial Narrow Bold Italic, Arial Narrow Italic] family=copperplate gothic light fonts=[Copperplate Gothic Light] family=consolas fonts=[Consolas, Consolas Italic, Consolas Bold, Consolas Bold Italic] family=high tower text fonts=[High Tower Text, High Tower Text Italic] family=miriam fixed fonts=[Miriam Fixed] family=monotype corsiva fonts=[Monotype Corsiva] family=nyala fonts=[Nyala] family=swis721 blkex bt fonts=[Swiss 721 Black Extended BT] family=italict fonts=[ItalicT] family=centaur fonts=[Centaur] family=tahoma fonts=[Tahoma, Tahoma Bold] family=jasmineupc fonts=[JasmineUPC, JasmineUPC Italic, JasmineUPC Bold, JasmineUPC Bold Italic] family=viner hand itc fonts=[Viner Hand ITC] family=lucida fax fonts=[Lucida Fax Regular, Lucida Fax Demibold, Lucida Fax Demibold Italic, Lucida Fax Italic] family=symap fonts=[Symap] family=guttman frank fonts=[Guttman Frank Bold, Guttman Frank] family=mistral fonts=[Mistral] family=miriam fonts=[Miriam] family=mt extra fonts=[MT Extra] family=acaderef fonts=[AcadEref] family=rod fonts=[Rod] family=vineta bt fonts=[Vineta BT] family=simplex fonts=[Simplex] family=mingliu_hkscs-extb fonts=[MingLiU_HKSCS-ExtB] family=superfrench fonts=[SuperFrench] family=lucida console fonts=[Lucida Console] family=vladimir script fonts=[Vladimir Script] family=monospac821 bt fonts=[Monospace 821 BT, Monospace 821 Bold BT, Monospace 821 Bold Italic BT, Monospace 821 Italic BT] family=ms pmincho fonts=[MS PMincho] family=cambria math fonts=[Cambria Math] family=plantagenet cherokee fonts=[Plantagenet Cherokee] family=mingliu_hkscs fonts=[MingLiU_HKSCS] family=courier new fonts=[Courier New, Courier New Italic, Courier New Bold, Courier New Bold Italic] family=guttman hatzvi fonts=[Guttman Hatzvi Bold, Guttman Hatzvi] family=italicc fonts=[ItalicC] family=guttman aharoni fonts=[Guttman Aharoni] family=ebrima fonts=[Ebrima, Ebrima Bold] family=david fonts=[David, David Bold] family=brush script mt fonts=[Brush Script MT Italic] family=countryblueprint fonts=[CountryBlueprint] family=scripts fonts=[ScriptS] family=guttman haim fonts=[Guttman Haim] family=colonna mt fonts=[Colonna MT] family=shruti fonts=[Shruti, Shruti Bold] family=technic fonts=[Technic] family=microsoft yahei ui fonts=[Microsoft YaHei UI, Microsoft YaHei UI Bold] family=rage italic fonts=[Rage Italic] family=angsanaupc fonts=[AngsanaUPC, AngsanaUPC Italic, AngsanaUPC Bold, AngsanaUPC Bold Italic] family=candara fonts=[Candara, Candara Italic, Candara Bold, Candara Bold Italic] family=mv boli fonts=[MV Boli] family=ravie fonts=[Ravie] family=tw cen mt condensed fonts=[Tw Cen MT Condensed Bold, Tw Cen MT Condensed] family=bodoni mt fonts=[Bodoni MT Bold, Bodoni MT Bold Italic, Bodoni MT Italic, Bodoni MT] family=franklin gothic medium fonts=[Franklin Gothic Medium, Franklin Gothic Medium Italic] family=berlin sans fb fonts=[Berlin Sans FB Bold, Berlin Sans FB] family=verdana fonts=[Verdana, Verdana Italic, Verdana Bold, Verdana Bold Italic] family=ms reference sans serif fonts=[MS Reference Sans Serif] **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Regular" Postscript name="SegoeUI" Win32 name="Segoe UI Regular" Fallback full name="Segoe UI" Postscript name="SegoeUI" Style name="Regular" slot=0 Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" **** Failed to map IDWriteFont to Prism **** Temp file deleted: C:\Users\user\AppData\Local\Temp\+JXF7252213042545373012.tmp From jeffhain at rocketmail.com Sun Nov 26 20:38:55 2017 From: jeffhain at rocketmail.com (Jeff Hain) Date: Sun, 26 Nov 2017 20:38:55 +0000 (UTC) Subject: Text classes In-Reply-To: <661862520bbcb12145e3f62a982cdea3.startmail@www.startmail.com> References: <661862520bbcb12145e3f62a982cdea3.startmail@www.startmail.com> Message-ID: <1347202845.4791682.1511728735414@mail.yahoo.com> >LineBreakMeasurers and HitTesting and everything. > >In JavaFX these things are not directly available to the dev and >anyway, to the extent that they are, they cannot be used to write a >rich text editor.. +1 Reminds me of this: http://mail.openjdk.java.net/pipermail/openjfx-dev/2015-April/017043.html Currently working with a lot of UI libraries, I observe that JavaFX is the only one without an API for font metrics. It's also the only one that silently uses an undefined fallback font when the glyph is missing in the specified font, which doesn't allow for the user to figure out what his fonts are capable of and to choose other known and more appropriate fonts of his own for the glyphless code points. It would be great to have a mode where only the specified font is used. It's also missing an equivalent of java.awt.Font.canDisplay(codePoint) (as a lot of the other libraries I'm working with). It would be nice also to make Canvas.snapshot(...) faster (possibly by allowing for rendering in the JavaFX application thread?). For now it's so slow that I always take a complete snapshot (which is not much slower than for a single pixel), and keep track of which pixels are drawn, to avoid calling it before reading non-dirty pixels. -Jeff From prasanta.sadhukhan at oracle.com Mon Nov 27 07:37:37 2017 From: prasanta.sadhukhan at oracle.com (Prasanta Sadhukhan) Date: Mon, 27 Nov 2017 13:07:37 +0530 Subject: [10] RFR JDK-8189280:Memory leak in SwingNode if Stage is not shown Message-ID: Hi All, Please review a swingnode memory leak fix for fx http://cr.openjdk.java.net/~psadhukhan/fx/8189280/webrev.00/ for issue https://bugs.openjdk.java.net/browse/JDK-8189280 More info in JBS. Regards Prasanta From jayathirth.d.v at oracle.com Mon Nov 27 07:50:18 2017 From: jayathirth.d.v at oracle.com (Jayathirth D V) Date: Sun, 26 Nov 2017 23:50:18 -0800 (PST) Subject: [10] RFR JDK-8189280:Memory leak in SwingNode if Stage is not shown In-Reply-To: References: Message-ID: Hi Prasanta, In the test case please add reason why you have kept commented code like : //public static void main(String[] args) { // Application.launch(args); //} //@Override //public void start(Stage primaryStage) { // memoryLeakTest(); //} Also please resolve indentation problem in comments like: //stage.show(); // tk.firePulse(); // tk.firePulse(); Thanks, Jay -----Original Message----- From: Prasanta Sadhukhan Sent: Monday, November 27, 2017 1:08 PM To: Kevin Rushforth; openjfx-dev at openjdk.java.net Mailing Subject: [10] RFR JDK-8189280:Memory leak in SwingNode if Stage is not shown Hi All, Please review a swingnode memory leak fix for fx http://cr.openjdk.java.net/~psadhukhan/fx/8189280/webrev.00/ for issue https://bugs.openjdk.java.net/browse/JDK-8189280 More info in JBS. Regards Prasanta From prasanta.sadhukhan at oracle.com Mon Nov 27 08:58:48 2017 From: prasanta.sadhukhan at oracle.com (Prasanta Sadhukhan) Date: Mon, 27 Nov 2017 14:28:48 +0530 Subject: [10] RFR JDK-8189280:Memory leak in SwingNode if Stage is not shown In-Reply-To: References: Message-ID: <9d935a1b-6483-9690-7236-7c8203c2ceea@oracle.com> Removed commented code in-place Regards Prasanta On 11/27/2017 1:20 PM, Jayathirth D V wrote: > Hi Prasanta, > > In the test case please add reason why you have kept commented code like : > //public static void main(String[] args) { > // Application.launch(args); > //} > > //@Override > //public void start(Stage primaryStage) { > // memoryLeakTest(); > //} > > Also please resolve indentation problem in comments like: > > //stage.show(); > // tk.firePulse(); > > // tk.firePulse(); > > Thanks, > Jay > -----Original Message----- > From: Prasanta Sadhukhan > Sent: Monday, November 27, 2017 1:08 PM > To: Kevin Rushforth; openjfx-dev at openjdk.java.net Mailing > Subject: [10] RFR JDK-8189280:Memory leak in SwingNode if Stage is not shown > > Hi All, > > Please review a swingnode memory leak fix for fx http://cr.openjdk.java.net/~psadhukhan/fx/8189280/webrev.00/ > for issue > https://bugs.openjdk.java.net/browse/JDK-8189280 > > More info in JBS. > > Regards > Prasanta From rajath.kamath at oracle.com Mon Nov 27 09:04:15 2017 From: rajath.kamath at oracle.com (Rajath Kamath) Date: Mon, 27 Nov 2017 01:04:15 -0800 (PST) Subject: [10] Review request - 8090011: 'tab' key makes control loose focus Message-ID: Hi all, Please review a fix for HTMLEditor. Details mentioned in JBS: JBS : https://bugs.openjdk.java.net/browse/JDK-8090011 WebRev : http://cr.openjdk.java.net/~rkamath/8090011/webrev.00/ Thanks, Rajath From swpalmer at gmail.com Mon Nov 27 20:29:57 2017 From: swpalmer at gmail.com (Scott Palmer) Date: Mon, 27 Nov 2017 15:29:57 -0500 Subject: Please Re-Open JDK-8169596 Message-ID: https://bugs.openjdk.java.net/browse/JDK-8169596 There is no reason to preclude creating command-line tools with Java. This restriction makes it impossible to create programs like javapackager with javapackager. Scott From philip.race at oracle.com Mon Nov 27 23:51:13 2017 From: philip.race at oracle.com (Phil Race) Date: Mon, 27 Nov 2017 15:51:13 -0800 Subject: System font fails to load on Windows 7 - possible causes/fixes? In-Reply-To: References: Message-ID: It seems to be mostly about this font that is NOT your system font .. but one you are loading from somewhere. Temp file created: C:\Users\user\AppData\Local\Temp\+JXF7252213042545373012.tmp^M Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" The repeated error is for that one font Mapping IDWriteFont="Segoe UI Semilight" Postscript name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular"^M **** Failed to map IDWriteFont to Prism **** So it looks as if DirectWrite does not like that font. Where did you get it ? according to Microsoft it is only available as part of Windows 8 https://www.microsoft.com/typography/fonts/font.aspx?FMID=1945 So perhaps it isn't compatible with DW on Windows 7. -phil On 11/26/2017 12:16 AM, Itai wrote: > I have recently come across a problem where some systems don't show Hebrew > glyphs using JavaFX, where all other programs run perfectly fine. > > Changing the system font seems to be a workaround, but this is undesirable > from the user's standpoint. > At first I thought it was some issue with font substitution, so I ran the > program with the option `-Dprism.debugfonts=true`, and apparently JavaFX > completely fails to load the defined system fonts (which are the Windows 7 > standard, Segoe UI). > I'm getting a lot of : > > **** Failed to map IDWriteFont to Prism **** > > What can be the cause for this, and how do I go about further diagnosing > the issue? I suppose this is some bug, but I'm not sure where or what > exactly it is, so I don't know what details to give in a bug report. > > Attached is the full log of running with `-Dprism.debugfonts=true`. > > Thanks, > Itai. From murali.billa at oracle.com Tue Nov 28 10:37:16 2017 From: murali.billa at oracle.com (Murali Billa) Date: Tue, 28 Nov 2017 02:37:16 -0800 (PST) Subject: [10] Review request for 8191621: Windows build fails if VS150COMNTOOLS is set Message-ID: <00a01729-488a-41a8-b7b1-2f4e6ba8fa09@default> ? Hi Kevin, Please review the below simple fix. JIRA: https://bugs.openjdk.java.net/browse/JDK-8191621 ? Webrev: http://cr.openjdk.java.net/~mbilla/8191621/webrev.00/ ? Thanks, Murali From itaisha at gmail.com Tue Nov 28 15:35:57 2017 From: itaisha at gmail.com (Itai) Date: Tue, 28 Nov 2017 17:35:57 +0200 Subject: System font fails to load on Windows 7 - possible causes/fixes? In-Reply-To: References: Message-ID: As far as I know this is a default Windows 7 installation, but it is entirely possible a font was added at some point. I don't know where it was sourced if that is the case. I will try removing this font to see if it makes a difference, but note that Prism also seems to be failing to load "Segoe UI Regular", which as I understand is meant to be the normal "Segoe UI" font? The only font this program loads by name is FontAwesome, which is embedded in the JAR. There is no reference to either Segoe UI or Segoe UI Semilight in the code, so if it tries to load them I'm assuming it is from the Windows fonts directory. On Tue, Nov 28, 2017 at 1:51 AM, Phil Race wrote: > It seems to be mostly about this font that is NOT your system font .. but > one > you are loading from somewhere. > Temp file created: C:\Users\user\AppData\Local\Te > mp\+JXF7252213042545373012.tmp^M > Mapping IDWriteFont="Segoe UI Semilight" Postscript > name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" > > The repeated error is for that one font > Mapping IDWriteFont="Segoe UI Semilight" Postscript > name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular"^M > **** Failed to map IDWriteFont to Prism **** > > So it looks as if DirectWrite does not like that font. > Where did you get it ? > > according to Microsoft it is only available as part of Windows 8 > https://www.microsoft.com/typography/fonts/font.aspx?FMID=1945 > > So perhaps it isn't compatible with DW on Windows 7. > > -phil > > > On 11/26/2017 12:16 AM, Itai wrote: > >> I have recently come across a problem where some systems don't show Hebrew >> glyphs using JavaFX, where all other programs run perfectly fine. >> >> Changing the system font seems to be a workaround, but this is undesirable >> from the user's standpoint. >> At first I thought it was some issue with font substitution, so I ran the >> program with the option `-Dprism.debugfonts=true`, and apparently JavaFX >> completely fails to load the defined system fonts (which are the Windows 7 >> standard, Segoe UI). >> I'm getting a lot of : >> >> **** Failed to map IDWriteFont to Prism **** >> >> What can be the cause for this, and how do I go about further diagnosing >> the issue? I suppose this is some bug, but I'm not sure where or what >> exactly it is, so I don't know what details to give in a bug report. >> >> Attached is the full log of running with `-Dprism.debugfonts=true`. >> >> Thanks, >> Itai. >> > > From itaisha at gmail.com Tue Nov 28 16:00:24 2017 From: itaisha at gmail.com (Itai) Date: Tue, 28 Nov 2017 18:00:24 +0200 Subject: System font fails to load on Windows 7 - possible causes/fixes? In-Reply-To: References: Message-ID: Removing the font "Segoe UI Semilight" indeed solves the problem, although there are still messages saying it failed to load "Segoe UI Regular". However, this time the fallback is listed as Tahoma. I have tested this on a system on which I am certain no custom fonts were installed. This font may have been pushed into Windows 7 in some Windows Update: https://support.microsoft.com/en-ie/help/3102429/update-that-supports-azerbaijani-manat-and-georgian-lari-currency-symb Or perhaps it got in the system via Office: https://support.microsoft.com/en-my/help/2800393/fonts-that-are-installed-with-microsoft-office-2013-products So I am not convinced it would be incompatible with Windows 7 - that would be very strange, considering also only JavaFX seems to suffer from it. Could it be that the error message simply means it had determined it needs to use a fallback for displaying Hebrew glyphs? That may explain why the error is still displayed after removing Segoe UI Semilight (this time only for Segoe UI Regular). If the fallback mechanism only considers one step of fallback then Segoe UI -> Segoe UI Semilight would fail, but removing Semilight would make the fallback chain Segoe UI -> Tahoma, which would work? Unfortunately I cannot test this by removing "Segoe UI Regular" as it is a "protected system font", and so Windows won't allow me to delete it. On Tue, Nov 28, 2017 at 5:35 PM, Itai wrote: > As far as I know this is a default Windows 7 installation, but it is > entirely possible a font was added at some point. I don't know where it was > sourced if that is the case. > > I will try removing this font to see if it makes a difference, but note > that Prism also seems to be failing to load "Segoe UI Regular", which as I > understand is meant to be the normal "Segoe UI" font? > > The only font this program loads by name is FontAwesome, which is embedded > in the JAR. There is no reference to either Segoe UI or Segoe UI Semilight > in the code, so if it tries to load them I'm assuming it is from the > Windows fonts directory. > > On Tue, Nov 28, 2017 at 1:51 AM, Phil Race wrote: > >> It seems to be mostly about this font that is NOT your system font .. >> but one >> you are loading from somewhere. >> Temp file created: C:\Users\user\AppData\Local\Te >> mp\+JXF7252213042545373012.tmp^M >> Mapping IDWriteFont="Segoe UI Semilight" Postscript >> name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular" >> >> The repeated error is for that one font >> Mapping IDWriteFont="Segoe UI Semilight" Postscript >> name="SegoeUI-Semilight" Win32 name="Segoe UI Semilight Regular"^M >> **** Failed to map IDWriteFont to Prism **** >> >> So it looks as if DirectWrite does not like that font. >> Where did you get it ? >> >> according to Microsoft it is only available as part of Windows 8 >> https://www.microsoft.com/typography/fonts/font.aspx?FMID=1945 >> >> So perhaps it isn't compatible with DW on Windows 7. >> >> -phil >> >> >> On 11/26/2017 12:16 AM, Itai wrote: >> >>> I have recently come across a problem where some systems don't show >>> Hebrew >>> glyphs using JavaFX, where all other programs run perfectly fine. >>> >>> Changing the system font seems to be a workaround, but this is >>> undesirable >>> from the user's standpoint. >>> At first I thought it was some issue with font substitution, so I ran the >>> program with the option `-Dprism.debugfonts=true`, and apparently JavaFX >>> completely fails to load the defined system fonts (which are the Windows >>> 7 >>> standard, Segoe UI). >>> I'm getting a lot of : >>> >>> **** Failed to map IDWriteFont to Prism **** >>> >>> What can be the cause for this, and how do I go about further diagnosing >>> the issue? I suppose this is some bug, but I'm not sure where or what >>> exactly it is, so I don't know what details to give in a bug report. >>> >>> Attached is the full log of running with `-Dprism.debugfonts=true`. >>> >>> Thanks, >>> Itai. >>> >> >> > From kevin.rushforth at oracle.com Tue Nov 28 21:44:30 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 28 Nov 2017 13:44:30 -0800 Subject: PLEASE READ: OpenJFX developer repos + JDK 10 RDP1 deadlines Message-ID: <5A1DD8BE.5090009@oracle.com> To: All OpenJFX developers There are two related items that you need to be aware of, so please read this if you are a developer of OpenJFX. Executive summary: 1. To match the JDK project, which has a persistent, non-release-specific mainline repo [1], the FX 10 and 10-dev repos will be "renamed" to jfx and jfx-dev. Starting Monday, Dec 4 all fixes for FX should be pushed to jfx-dev/rt rather than 10-dev/rt. 2. As a reminder, the JDK 10 RDP1 milestone is coming up on Dec 14 [2]. All bug fixes and RFEs planned for 10 should be pushed by that date. We will fork the repo at that time and only approved fixes will go into JDK 10 after that point. Details: 1. Historically, the JDK has had separate development mainline repos for each code line, and the OpenJFX project has followed this pattern. Starting with JDK 10, development has switched to a model where the development branch is persistent (that is, it doesn't change when a new release is started) and is no longer release-specific. So there is a jdk project with a jdk mainline repo [1], and no longer a jdk10 mainline repo. We will start following this for the OpenJFX project, too. We will "effectively rename" the FX 10-dev (and 10 [master]) repos to jfx-dev (and jfx [master]). I use the term "effectively rename", because what we will actually do is clone a new jfx-dev repo from 10-dev and make 10-dev read-only. This is because we will shortly need a new forked repo for 10 stabilization, so it is easier to do this than delete and recreate it. The end result will be that for developers, the place you push fixes going forward will always be "jfx-dev/rt" rather than "10-dev/rt" and then "11-dev/rt" and then ... The planned timeline for the switchover is: Sunday, Dec 3 * The openjfx 10-dev forest will be made read only at 8:00 pm Pacific time on Sunday. If you have a fix that you want in before Monday, then you need to push it no later than 7:59 pm (Pacific) Sunday night. * The jfx-dev forest will be cloned from 10-dev (and the jfx [master] forest will be cloned from 10 [master]) Monday, Dec 4 * Once this is done and tested, I will send out email announcing that it is open for pushing. I expect that this will happen early Monday morning (Pacific time). Once the repo is open, developers will need to edit their .hgrc files to point to the new jfx-dev forest instead of 10-dev. 2. As a reminder, the JDK 10 RDP1 milestone is coming up on Dec 14 [2]. All bug fixes and RFEs planned for 10 should be pushed by that date. We will fork the repo at that time; only approved fixes will go into JDK 10 after that point. The guidelines are that only P1-P3 bugs will be considered for inclusion into JDK 10 during RDP1, and not all P3 bugs will be taken. Generally developers focus on getting a fix into the mainline, and it will make the next available train. Once the 10 stabilization repo has forked, the next train will be 11. I expect that more guidance will be given on the jdk-dev mailing list as for the processes and policies surrounding this. -- Kevin [1] http://hg.openjdk.java.net/jdk/jdk/ [2] http://openjdk.java.net/projects/jdk/10/ From victor.drozdov at oracle.com Wed Nov 29 02:01:53 2017 From: victor.drozdov at oracle.com (victor.drozdov at oracle.com) Date: Tue, 28 Nov 2017 18:01:53 -0800 Subject: [10] Review request: 8191712: javapackager help output has a typo Message-ID: <414a3e37-8f9b-96df-eeb0-c99373fd2bf1@oracle.com> Alexander, Please review my changes about fixing typos in javapackager help output and jdk/packager/builders/mac/MacAppImageBuilder. The fix also corrected the typo from JDK-8189339 JIRA: https://bugs.openjdk.java.net/browse/JDK-8191712 Webrev: http://cr.openjdk.java.net/~vdrozdov/JDK-8191712/webrev.00/ --Victor From sadhak001 at gmail.com Wed Nov 29 11:48:31 2017 From: sadhak001 at gmail.com (Mani Sarkar) Date: Wed, 29 Nov 2017 11:48:31 +0000 Subject: javapackager feedback and questions Message-ID: Hi all, First I hope I'm writing to the correct mailing list, if not please suggest where to write instead. Also if it is worth writing back as separate messages per issue or item, please do let me know. Some of my observations and feedback when using *javapackager*: *Positives* - .dmg and .msi packaging work very well out of the box, easy to put together configuration settings - .rpm packages build very quickly - a number of features from FPM (docs | GitHub ) available but some more for the individual types of packages would certainly help (for e.g. exposing some more of the CLI flags for DEB and RPM packaging) *Improvements* - [doc and example required]: Additional documentation and examples around how to add a license when building a package would be helpful. After a bit of searching on google and experimenting with couple of combinations of CLI options I was able to figure it out. - [doc correction]: jvmUserArg is referred to in the documentation with examples, while in the usage documentation jvmOptions is used (discrepancy between the names of flags), see https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javapackager.html and https://docs.oracle.com/javase/9/deploy/self-contained-application-packaging.htm#JSDPG585 - [doc correction]: same goes for mac.signing-key-user-name while there is no mention of it in the javapackager usage documentation, it takes the full name of the user i.e. *Jane Doe* *- *[doc and example required]: just adding mac.signing-key-developer-id-app=xxxxx isn't enough, needs the other code-sign related flags as well, possibly key should be in the Mac KeyStore when building it (check if id provided is the correct one, additional examples would definitely help to reduce or eliminate experimentation and assumptions) - [potential bug]: Using *-B*systemWide=true flag causes error -10810 when building on the MacOSX in non-gui mode, can be overridden by using the -Bmac.dmg.simple=true but we loose the backdrop and automatic shortcut creation, etc... Swappin gthe order to: -Bmac.dmg.simple=true and *-B* systemWide=true does not help, still ends up building a .dmg package with just the app in it (no icon, no background) - code signing examples for Windows and MacOSX will certainly help quite a bit - [doc and example required] .deb packages take a long time to build, some additional flags that can help. Some findings along the lines on how to speed up dpkg-build: export CCACHE_DIR=/home/$USER/.ccache export CCACHE_HASHDIR=$CCACHE_DIR export DEB_BUILD_OPTIONS="${DEB_BUILD_OPTIONS} --preserve-envvar=CCACHE_DIR --prepend-path=/usr/lib/ccache parallel=jobs" echo "Debian build options: ${DEB_BUILD_OPTIONS}" ------------------------------- A response with answers for the above will be highly appreciated. Thanks. Cheers, Mani -- @theNeomatrix369 | Blog | @adoptopenjdk | Dev communities Meet-a-Project - MutabilityDetector | Github | Slideshare | LinkedIn Come to Devoxx UK 2018: http://www.devoxx.co.uk/ Don't chase success, rather aim for "Excellence", and success will come chasing after you! From johan.vos at gluonhq.com Wed Nov 29 17:50:01 2017 From: johan.vos at gluonhq.com (Johan Vos) Date: Wed, 29 Nov 2017 17:50:01 +0000 Subject: javah deprecated? Message-ID: Hi, I learned javah might be removed in Java 10 ( http://openjdk.java.net/jeps/313) but as far as I know, it is still used in OpenJFX: defineProperty("JAVAH", cygpath("$JDK_HOME/bin/javah${IS_WINDOWS ? '.exe' : ''}")) Are there already plans to move to javac -h instead? It seems a relative easy task that might be done by someone from the wider community? Thanks, - Johan From kevin.rushforth at oracle.com Wed Nov 29 19:02:08 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 29 Nov 2017 11:02:08 -0800 Subject: javah deprecated? In-Reply-To: References: Message-ID: <5A1F0430.7060905@oracle.com> Hi Johan, Thanks for pointing this out. I had missed that this was targeted to JDK 10. We eliminated all but one use of javah, in favor of javac -h, in JDK 9 [1]. The only one remaining is in the web module. I can't remember why that wasn't switched at the same time (I have a fuzzy recollection that it might have had something to do with incremental compilation), but yes, it seems like this will need to be fixed. If you would like to file a bug then this would be a great thing for the community to work on. This will block us from moving to JDK 10 as a boot JDK, so if we end up doing that for JDK 10 then this would need to be done soon. Let me know if you would like to work on this. Thanks. -- Kevin [1] https://bugs.openjdk.java.net/browse/JDK-8161704 Johan Vos wrote: > Hi, > > I learned javah might be removed in Java 10 ( > http://openjdk.java.net/jeps/313) but as far as I know, it is still used in > OpenJFX: > > defineProperty("JAVAH", cygpath("$JDK_HOME/bin/javah${IS_WINDOWS ? '.exe' : > ''}")) > > Are there already plans to move to javac -h instead? > It seems a relative easy task that might be done by someone from the wider > community? > > Thanks, > > - Johan > From victor.drozdov at oracle.com Wed Nov 29 23:18:52 2017 From: victor.drozdov at oracle.com (victor.drozdov at oracle.com) Date: Wed, 29 Nov 2017 15:18:52 -0800 Subject: javapackager feedback and questions In-Reply-To: References: Message-ID: <4729a893-3faa-c3ee-9669-ff932a0912de@oracle.com> Hi, Mani. Thanks for providing the feedback! We will consider adding more examples and more details in the docs as you proposed(there is an arg named jvmOptions but that's not mentioned in the table). Looks like there is a bug when you specify systemWide=true on the MacOSX in non-gui mode. Can you provide more details about that (like full cmd line)? Actually, if you want you can clone the repo: http://hg.openjdk.java.net/openjfx/10-dev/rt/ (hg clone http://hg.openjdk.java.net/openjfx/10-dev/rt/) and help to improve javapackager. Or you can just create Enhancements for deploy/packager, as it's not always clear what users expect. By the way, what kind of apps you distribute using javapackager? Is that a UI app or services? --Victor On 11/29/17 3:48 AM, Mani Sarkar wrote: > Hi all, > > First I hope I'm writing to the correct mailing list, if not please suggest > where to write instead. Also if it is worth writing back as separate > messages per issue or item, please do let me know. > > Some of my observations and feedback when using *javapackager*: > > *Positives* > - .dmg and .msi packaging work very well out of the box, easy to put > together configuration settings > - .rpm packages build very quickly > - a number of features from FPM (docs > | GitHub > ) available but some more for the > individual types of packages would certainly help (for e.g. exposing some > more of the CLI flags for DEB and RPM packaging) > > *Improvements* > - [doc and example required]: Additional documentation and examples around > how to add a license when building a package would be helpful. After a bit > of searching on google and experimenting with couple of combinations of CLI > options I was able to figure it out. > - [doc correction]: jvmUserArg is referred to in the documentation with > examples, while in the usage documentation jvmOptions is used (discrepancy > between the names of flags), see > https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javapackager.html > and > https://docs.oracle.com/javase/9/deploy/self-contained-application-packaging.htm#JSDPG585 > - [doc correction]: same goes for mac.signing-key-user-name while there is > no mention of it in the javapackager usage documentation, it takes the full > name of the user i.e. *Jane Doe* > *- *[doc and example required]: just adding > mac.signing-key-developer-id-app=xxxxx isn't enough, needs the other > code-sign related flags as well, possibly key should be in the Mac KeyStore > when building it (check if id provided is the correct one, additional > examples would definitely help to reduce or eliminate experimentation and > assumptions) > - [potential bug]: Using *-B*systemWide=true flag causes error -10810 when > building on the MacOSX in non-gui mode, can be overridden by using the > -Bmac.dmg.simple=true but we loose the backdrop and automatic shortcut > creation, etc... Swappin gthe order to: -Bmac.dmg.simple=true and *-B* > systemWide=true does not help, still ends up building a .dmg package with > just the app in it (no icon, no background) > - code signing examples for Windows and MacOSX will certainly help quite a > bit > - [doc and example required] .deb packages take a long time to build, some > additional flags that can help. Some findings along the lines on how to > speed up dpkg-build: > > export CCACHE_DIR=/home/$USER/.ccache > > export CCACHE_HASHDIR=$CCACHE_DIR > > export DEB_BUILD_OPTIONS="${DEB_BUILD_OPTIONS} --preserve-envvar=CCACHE_DIR > --prepend-path=/usr/lib/ccache parallel=jobs" > > echo "Debian build options: ${DEB_BUILD_OPTIONS}" > > ------------------------------- > > A response with answers for the above will be highly appreciated. > > Thanks. > > Cheers, > Mani From dave at jfree.org Thu Nov 30 07:26:31 2017 From: dave at jfree.org (David Gilbert) Date: Thu, 30 Nov 2017 08:26:31 +0100 Subject: Font metrics in JavaFX Canvas Message-ID: Hello, I have an open source project FXGraphics2D [1] that provides a Graphics2D API for the JavaFX canvas. It is open source and used to provide JavaFX support for JFreeChart [2] and Orson Charts [3]. It can also be used more generally for any code that targets the Java2D API. One limitation that I?ve encountered is that there is no API to get font metrics for fonts rendered on the JavaFX canvas, so it is difficult to implement the method Graphics2D.getFontMetrics(Font f) accurately. As a result, text alignment is difficult, for example see the tick labels on the vertical axis in this chart: http://www.jfree.org/jfreechart/fxgraphics2d-font-issue.png There is a feature request in the bug tracker, open for some time, that targets this particular feature. I?d like to highlight it for (hopefully) some attention in a future JDK release: https://bugs.openjdk.java.net/browse/JDK-8090775 Best regards, David Gilbert [1] https://github.com/jfree/fxgraphics2d [2] https://github.com/jfree/jfreechart-fx [3] https://github.com/jfree/orson-charts-fx From mp at jugs.org Thu Nov 30 08:30:59 2017 From: mp at jugs.org (Michael Paus) Date: Thu, 30 Nov 2017 09:30:59 +0100 Subject: javapackager feedback and questions In-Reply-To: References: Message-ID: <9c577279-ac13-085d-b827-dd2e9f0db545@jugs.org> Hi, I am wondering why you can say that ".dmg and .msi packaging work very well" because there is this still open bug https://bugs.openjdk.java.net/browse/JDK-8179033 which keeps me from building DMG files on Java 9. Are you still using Java 8? Michael Am 29.11.17 um 12:48 schrieb Mani Sarkar: > Hi all, > > First I hope I'm writing to the correct mailing list, if not please suggest > where to write instead. Also if it is worth writing back as separate > messages per issue or item, please do let me know. > > Some of my observations and feedback when using *javapackager*: > > *Positives* > - .dmg and .msi packaging work very well out of the box, easy to put > together configuration settings > - .rpm packages build very quickly > - a number of features from FPM (docs > | GitHub > ) available but some more for the > individual types of packages would certainly help (for e.g. exposing some > more of the CLI flags for DEB and RPM packaging) > > *Improvements* > - [doc and example required]: Additional documentation and examples around > how to add a license when building a package would be helpful. After a bit > of searching on google and experimenting with couple of combinations of CLI > options I was able to figure it out. > - [doc correction]: jvmUserArg is referred to in the documentation with > examples, while in the usage documentation jvmOptions is used (discrepancy > between the names of flags), see > https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javapackager.html > and > https://docs.oracle.com/javase/9/deploy/self-contained-application-packaging.htm#JSDPG585 > - [doc correction]: same goes for mac.signing-key-user-name while there is > no mention of it in the javapackager usage documentation, it takes the full > name of the user i.e. *Jane Doe* > *- *[doc and example required]: just adding > mac.signing-key-developer-id-app=xxxxx isn't enough, needs the other > code-sign related flags as well, possibly key should be in the Mac KeyStore > when building it (check if id provided is the correct one, additional > examples would definitely help to reduce or eliminate experimentation and > assumptions) > - [potential bug]: Using *-B*systemWide=true flag causes error -10810 when > building on the MacOSX in non-gui mode, can be overridden by using the > -Bmac.dmg.simple=true but we loose the backdrop and automatic shortcut > creation, etc... Swappin gthe order to: -Bmac.dmg.simple=true and *-B* > systemWide=true does not help, still ends up building a .dmg package with > just the app in it (no icon, no background) > - code signing examples for Windows and MacOSX will certainly help quite a > bit > - [doc and example required] .deb packages take a long time to build, some > additional flags that can help. Some findings along the lines on how to > speed up dpkg-build: > > export CCACHE_DIR=/home/$USER/.ccache > > export CCACHE_HASHDIR=$CCACHE_DIR > > export DEB_BUILD_OPTIONS="${DEB_BUILD_OPTIONS} --preserve-envvar=CCACHE_DIR > --prepend-path=/usr/lib/ccache parallel=jobs" > > echo "Debian build options: ${DEB_BUILD_OPTIONS}" > > ------------------------------- > > A response with answers for the above will be highly appreciated. > > Thanks. > > Cheers, > Mani From mik3hall at gmail.com Thu Nov 30 09:28:43 2017 From: mik3hall at gmail.com (Michael Hall) Date: Thu, 30 Nov 2017 03:28:43 -0600 Subject: javapackager feedback and questions In-Reply-To: <4729a893-3faa-c3ee-9669-ff932a0912de@oracle.com> References: <4729a893-3faa-c3ee-9669-ff932a0912de@oracle.com> Message-ID: > On Nov 29, 2017, at 5:18 PM, victor.drozdov at oracle.com wrote: > > Hi, Mani. > > Thanks for providing the feedback! > We will consider adding more examples and more details in the docs as you proposed(there is an arg named jvmOptions but that's not mentioned in the table). > Looks like there is a bug when you specify systemWide=true on the MacOSX in non-gui mode. Can you provide more details about that (like full cmd line)? > Actually, if you want you can clone the repo: > http://hg.openjdk.java.net/openjfx/10-dev/rt/ > (hg clone http://hg.openjdk.java.net/openjfx/10-dev/rt/) > and help to improve javapackager. Or you can just create Enhancements for deploy/packager, as it's not always clear what users expect. > Why was JEP 311 [1] Closed/Withdrawn? [1] http://openjdk.java.net/jeps/311 From johan.vos at gluonhq.com Thu Nov 30 10:42:06 2017 From: johan.vos at gluonhq.com (Johan Vos) Date: Thu, 30 Nov 2017 10:42:06 +0000 Subject: javah deprecated? In-Reply-To: <5A1F0430.7060905@oracle.com> References: <5A1F0430.7060905@oracle.com> Message-ID: I filed a bug (https://bugs.openjdk.java.net/browse/JDK-8192806) and I am looking into it. It seems a bit weird to me that the java.lang.Character and java.net.IDN header files are needed. I'll remove them and see where it fails. But if they are needed (and they probably are), it won't be easy to generate them with javac -h as that requires the source code instead of the classfiles. That would require access to the java.lang.Character and java.net.IDN java source code in OpenJDK, from within OpenJFX. - Johan On Wed, Nov 29, 2017 at 8:02 PM Kevin Rushforth wrote: > Hi Johan, > > Thanks for pointing this out. I had missed that this was targeted to JDK > 10. > > We eliminated all but one use of javah, in favor of javac -h, in JDK 9 > [1]. The only one remaining is in the web module. I can't remember why > that wasn't switched at the same time (I have a fuzzy recollection that > it might have had something to do with incremental compilation), but > yes, it seems like this will need to be fixed. > > If you would like to file a bug then this would be a great thing for the > community to work on. This will block us from moving to JDK 10 as a boot > JDK, so if we end up doing that for JDK 10 then this would need to be > done soon. > > Let me know if you would like to work on this. > > Thanks. > > -- Kevin > > [1] https://bugs.openjdk.java.net/browse/JDK-8161704 > > > Johan Vos wrote: > > Hi, > > > > I learned javah might be removed in Java 10 ( > > http://openjdk.java.net/jeps/313) but as far as I know, it is still > used in > > OpenJFX: > > > > defineProperty("JAVAH", cygpath("$JDK_HOME/bin/javah${IS_WINDOWS ? > '.exe' : > > ''}")) > > > > Are there already plans to move to javac -h instead? > > It seems a relative easy task that might be done by someone from the > wider > > community? > > > > Thanks, > > > > - Johan > > > From sadhak001 at gmail.com Thu Nov 30 10:49:13 2017 From: sadhak001 at gmail.com (Mani Sarkar) Date: Thu, 30 Nov 2017 10:49:13 +0000 Subject: javapackager feedback and questions In-Reply-To: References: <4729a893-3faa-c3ee-9669-ff932a0912de@oracle.com> Message-ID: Thanks Victor for you response and invite. I'll get back with details for your query. Just for your info, I was referring to javapackager in the context of Java 9 built artifacts. On Thu, 30 Nov 2017 09:28 Michael Hall, wrote: > > > On Nov 29, 2017, at 5:18 PM, victor.drozdov at oracle.com wrote: > > > > Hi, Mani. > > > > Thanks for providing the feedback! > > We will consider adding more examples and more details in the docs as > you proposed(there is an arg named jvmOptions but that's not mentioned in > the table). > > Looks like there is a bug when you specify systemWide=true on the MacOSX > in non-gui mode. Can you provide more details about that (like full cmd > line)? > > Actually, if you want you can clone the repo: > > http://hg.openjdk.java.net/openjfx/10-dev/rt/ > > (hg clone http://hg.openjdk.java.net/openjfx/10-dev/rt/) > > and help to improve javapackager. Or you can just create Enhancements > for deploy/packager, as it's not always clear what users expect. > > > > Why was JEP 311 [1] Closed/Withdrawn? > > [1] http://openjdk.java.net/jeps/311 > > -- @theNeomatrix369 | Blog | @adoptopenjdk | Dev communities Meet-a-Project - MutabilityDetector | Github | Slideshare | LinkedIn Come to Devoxx UK 2018: http://www.devoxx.co.uk/ Don't chase success, rather aim for "Excellence", and success will come chasing after you! From johan.vos at gluonhq.com Thu Nov 30 11:07:44 2017 From: johan.vos at gluonhq.com (Johan Vos) Date: Thu, 30 Nov 2017 11:07:44 +0000 Subject: javah deprecated? In-Reply-To: References: <5A1F0430.7060905@oracle.com> Message-ID: There was a related issue at https://bugs.openjdk.java.net/browse/JDK-8170591 about going back to javah instead of javac -h but that doesn't talk about why the headers for Character and IDN are needed. I'm building without those headers (takes almost 1 hour though to build webkit on linux) so I'll find out if they are needed on linux. - Johan On Thu, Nov 30, 2017 at 11:42 AM Johan Vos wrote: > I filed a bug (https://bugs.openjdk.java.net/browse/JDK-8192806) and I am > looking into it. > > It seems a bit weird to me that the java.lang.Character and java.net.IDN > header files are needed. I'll remove them and see where it fails. > But if they are needed (and they probably are), it won't be easy to > generate them with javac -h as that requires the source code instead of the > classfiles. That would require access to the java.lang.Character and > java.net.IDN java source code in OpenJDK, from within OpenJFX. > > - Johan > > On Wed, Nov 29, 2017 at 8:02 PM Kevin Rushforth < > kevin.rushforth at oracle.com> wrote: > >> Hi Johan, >> >> Thanks for pointing this out. I had missed that this was targeted to JDK >> 10. >> >> We eliminated all but one use of javah, in favor of javac -h, in JDK 9 >> [1]. The only one remaining is in the web module. I can't remember why >> that wasn't switched at the same time (I have a fuzzy recollection that >> it might have had something to do with incremental compilation), but >> yes, it seems like this will need to be fixed. >> >> If you would like to file a bug then this would be a great thing for the >> community to work on. This will block us from moving to JDK 10 as a boot >> JDK, so if we end up doing that for JDK 10 then this would need to be >> done soon. >> >> Let me know if you would like to work on this. >> >> Thanks. >> >> -- Kevin >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8161704 >> >> >> Johan Vos wrote: >> > Hi, >> > >> > I learned javah might be removed in Java 10 ( >> > http://openjdk.java.net/jeps/313) but as far as I know, it is still >> used in >> > OpenJFX: >> > >> > defineProperty("JAVAH", cygpath("$JDK_HOME/bin/javah${IS_WINDOWS ? >> '.exe' : >> > ''}")) >> > >> > Are there already plans to move to javac -h instead? >> > It seems a relative easy task that might be done by someone from the >> wider >> > community? >> > >> > Thanks, >> > >> > - Johan >> > >> > From johan.vos at gluonhq.com Thu Nov 30 12:09:42 2017 From: johan.vos at gluonhq.com (Johan Vos) Date: Thu, 30 Nov 2017 12:09:42 +0000 Subject: javah deprecated? In-Reply-To: References: <5A1F0430.7060905@oracle.com> Message-ID: The headers are required indeed. modules/javafx.web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h includes java_lang_Character.h in order to access the static final fields in Character.java - Johan On Thu, Nov 30, 2017 at 12:07 PM Johan Vos wrote: > There was a related issue at > https://bugs.openjdk.java.net/browse/JDK-8170591 about going back to > javah instead of javac -h but that doesn't talk about why the headers for > Character and IDN are needed. > > I'm building without those headers (takes almost 1 hour though to build > webkit on linux) so I'll find out if they are needed on linux. > > - Johan > > On Thu, Nov 30, 2017 at 11:42 AM Johan Vos wrote: > >> I filed a bug (https://bugs.openjdk.java.net/browse/JDK-8192806) and I >> am looking into it. >> >> It seems a bit weird to me that the java.lang.Character and java.net.IDN >> header files are needed. I'll remove them and see where it fails. >> But if they are needed (and they probably are), it won't be easy to >> generate them with javac -h as that requires the source code instead of the >> classfiles. That would require access to the java.lang.Character and >> java.net.IDN java source code in OpenJDK, from within OpenJFX. >> >> - Johan >> >> On Wed, Nov 29, 2017 at 8:02 PM Kevin Rushforth < >> kevin.rushforth at oracle.com> wrote: >> >>> Hi Johan, >>> >>> Thanks for pointing this out. I had missed that this was targeted to JDK >>> 10. >>> >>> We eliminated all but one use of javah, in favor of javac -h, in JDK 9 >>> [1]. The only one remaining is in the web module. I can't remember why >>> that wasn't switched at the same time (I have a fuzzy recollection that >>> it might have had something to do with incremental compilation), but >>> yes, it seems like this will need to be fixed. >>> >>> If you would like to file a bug then this would be a great thing for the >>> community to work on. This will block us from moving to JDK 10 as a boot >>> JDK, so if we end up doing that for JDK 10 then this would need to be >>> done soon. >>> >>> Let me know if you would like to work on this. >>> >>> Thanks. >>> >>> -- Kevin >>> >>> [1] https://bugs.openjdk.java.net/browse/JDK-8161704 >>> >>> >>> Johan Vos wrote: >>> > Hi, >>> > >>> > I learned javah might be removed in Java 10 ( >>> > http://openjdk.java.net/jeps/313) but as far as I know, it is still >>> used in >>> > OpenJFX: >>> > >>> > defineProperty("JAVAH", cygpath("$JDK_HOME/bin/javah${IS_WINDOWS ? >>> '.exe' : >>> > ''}")) >>> > >>> > Are there already plans to move to javac -h instead? >>> > It seems a relative easy task that might be done by someone from the >>> wider >>> > community? >>> > >>> > Thanks, >>> > >>> > - Johan >>> > >>> >> From kevin.rushforth at oracle.com Thu Nov 30 13:13:00 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 30 Nov 2017 05:13:00 -0800 Subject: javah deprecated? In-Reply-To: References: <5A1F0430.7060905@oracle.com> Message-ID: <5A2003DC.4020008@oracle.com> Hi Johan, Thanks for filing the bug. If we really do need Character and IDN, then the cleanest approach might be to define new fields in a suitable JavaFX class and assign the appropriate values to them. -- Kevin Johan Vos wrote: > I filed a bug (https://bugs.openjdk.java.net/browse/JDK-8192806) and I > am looking into it. > > It seems a bit weird to me that the java.lang.Character and > java.net.IDN header files are needed. I'll remove them and see where > it fails. > But if they are needed (and they probably are), it won't be easy to > generate them with javac -h as that requires the source code instead > of the classfiles. That would require access to the > java.lang.Character and java.net.IDN java source code in OpenJDK, from > within OpenJFX. > > - Johan > > On Wed, Nov 29, 2017 at 8:02 PM Kevin Rushforth > > wrote: > > Hi Johan, > > Thanks for pointing this out. I had missed that this was targeted > to JDK 10. > > We eliminated all but one use of javah, in favor of javac -h, in JDK 9 > [1]. The only one remaining is in the web module. I can't remember why > that wasn't switched at the same time (I have a fuzzy recollection > that > it might have had something to do with incremental compilation), but > yes, it seems like this will need to be fixed. > > If you would like to file a bug then this would be a great thing > for the > community to work on. This will block us from moving to JDK 10 as > a boot > JDK, so if we end up doing that for JDK 10 then this would need to be > done soon. > > Let me know if you would like to work on this. > > Thanks. > > -- Kevin > > [1] https://bugs.openjdk.java.net/browse/JDK-8161704 > > > Johan Vos wrote: > > Hi, > > > > I learned javah might be removed in Java 10 ( > > http://openjdk.java.net/jeps/313) but as far as I know, it is > still used in > > OpenJFX: > > > > defineProperty("JAVAH", cygpath("$JDK_HOME/bin/javah${IS_WINDOWS > ? '.exe' : > > ''}")) > > > > Are there already plans to move to javac -h instead? > > It seems a relative easy task that might be done by someone from > the wider > > community? > > > > Thanks, > > > > - Johan > > > From dbelob.openjdk at gmail.com Thu Nov 30 14:21:47 2017 From: dbelob.openjdk at gmail.com (Dmitry Beloborodov) Date: Thu, 30 Nov 2017 17:21:47 +0300 Subject: Java Packager fails to create macOS or Windows Bundle Message-ID: (Two months later) Please fix bug https://bugs.openjdk.java.net/browse/JDK-8179033 See patch below (or previous letter http://mail.openjdk.java.net/pipermail/openjfx-dev/2017-October/020878.html) See example on GitHub to check https://github.com/dbelob/multiplatform-distribution How to build for Windows and macOS: mvn clean package -P native-deploy (there is no error on Linux) With best regards, Dmitry Beloborodov On Mon, Oct 9, 2017 at 6:52 PM, Dmitry Beloborodov wrote: > There is JDK-8179033 > https://bugs.openjdk.java.net/browse/JDK-8179033 > ("javapackager fails to create Mac Application Bundle") > > Error is reproduced on macOS and Windows > (there is no error on Linux) > > Cause is the absence of a destination resource subdirectory. > > I suppose that to fix the error it is enough to create subdirectories > before copying of destination resources > (see correct methods > com.oracle.tools.packager.windows.WinAppBundler::copyApplication in Java 8 > com.oracle.tools.packager.mac.MacAppBundler::copyClassPathEntries in Java > 8 > com.oracle.tools.packager.linux.LinuxAppBundler::copyApplication in Java 8 > or > jdk.packager.builders.linux.LinuxAppImageBuilder::copyApplication in Java > 9 > ) > > To fix it (in Java 9) you need to > 1. Change in jdk.packager.builders.windows.WindowsAppImageBuilder::copyApplication > method > from > for (String fname : appResources.getIncludedFiles()) { > Files.copy(new File(srcdir, fname).toPath(), new > File(appDir.toFile(), fname).toPath()); > } > to > for (String fname : appResources.getIncludedFiles()) { > File destFile = new File(appDir.toFile(), fname); > > destFile.getParentFile().mkdirs(); > Files.copy(new File(srcdir, fname).toPath(), destFile.toPath()); > } > > 2. Change in jdk.packager.builders.mac.MacAppImageBuilder::copyApplication > method > from > for (String fname : classPath.getIncludedFiles()) { > // use new File since fname can have file separators > Files.copy(new File(srcdir, fname).toPath(), new > File(javaDirectory.toFile(), fname).toPath()); > } > to > for (String fname : classPath.getIncludedFiles()) { > // use new File since fname can have file separators > File destFile = new File(javaDirectory.toFile(), fname); > > destFile.getParentFile().mkdirs(); > Files.copy(new File(srcdir, fname).toPath(), destFile.toPath()); > } > > Please fix error. Many thanks! > > With best regards, > Dmitry Beloborodov > From johan.vos at gluonhq.com Thu Nov 30 15:27:24 2017 From: johan.vos at gluonhq.com (Johan Vos) Date: Thu, 30 Nov 2017 15:27:24 +0000 Subject: javah deprecated? In-Reply-To: <5A2003DC.4020008@oracle.com> References: <5A1F0430.7060905@oracle.com> <5A2003DC.4020008@oracle.com> Message-ID: Hi Kevin, Just to make sure I understand this approach: you want a (new or existing) Foo.Java file in the modules/javafx.web space that contains e.g. this: public static int DIRECTIONALITY_LEFT_TO_RIGHT = Character. DIRECTIONALITY_LEFT_TO_RIGHT; Applying javac -h (which the build already does) will generate Foo.h In modules/javafx.web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h we replace the #include java_lang_Character.h with #include Foo.h Is this correct? - Johan On Thu, Nov 30, 2017 at 2:13 PM Kevin Rushforth wrote: > Hi Johan, > > Thanks for filing the bug. > > If we really do need Character and IDN, then the cleanest approach might > be to define new fields in a suitable JavaFX class and assign the > appropriate values to them. > > > -- Kevin > > > > Johan Vos wrote: > > I filed a bug (https://bugs.openjdk.java.net/browse/JDK-8192806) and I am > looking into it. > > It seems a bit weird to me that the java.lang.Character and java.net.IDN > header files are needed. I'll remove them and see where it fails. > But if they are needed (and they probably are), it won't be easy to > generate them with javac -h as that requires the source code instead of the > classfiles. That would require access to the java.lang.Character and > java.net.IDN java source code in OpenJDK, from within OpenJFX. > > - Johan > > On Wed, Nov 29, 2017 at 8:02 PM Kevin Rushforth < > kevin.rushforth at oracle.com> wrote: > >> Hi Johan, >> >> Thanks for pointing this out. I had missed that this was targeted to JDK >> 10. >> >> We eliminated all but one use of javah, in favor of javac -h, in JDK 9 >> [1]. The only one remaining is in the web module. I can't remember why >> that wasn't switched at the same time (I have a fuzzy recollection that >> it might have had something to do with incremental compilation), but >> yes, it seems like this will need to be fixed. >> >> If you would like to file a bug then this would be a great thing for the >> community to work on. This will block us from moving to JDK 10 as a boot >> JDK, so if we end up doing that for JDK 10 then this would need to be >> done soon. >> >> Let me know if you would like to work on this. >> >> Thanks. >> >> -- Kevin >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8161704 >> >> >> Johan Vos wrote: >> > Hi, >> > >> > I learned javah might be removed in Java 10 ( >> > http://openjdk.java.net/jeps/313) but as far as I know, it is still >> used in >> > OpenJFX: >> > >> > defineProperty("JAVAH", cygpath("$JDK_HOME/bin/javah${IS_WINDOWS ? >> '.exe' : >> > ''}")) >> > >> > Are there already plans to move to javac -h instead? >> > It seems a relative easy task that might be done by someone from the >> wider >> > community? >> > >> > Thanks, >> > >> > - Johan >> > >> > From kevin.rushforth at oracle.com Thu Nov 30 16:31:38 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 30 Nov 2017 08:31:38 -0800 Subject: javah deprecated? In-Reply-To: References: <5A1F0430.7060905@oracle.com> <5A2003DC.4020008@oracle.com> Message-ID: <5A20326A.4040109@oracle.com> Yes, something along those lines is what I was thinking. Preferably it would be added in an existing class in the javafx.web module rather than a new class if a suitable one can be found. In either case, it will need to be done in a way that does not expose these constants as part of the public API (e.g., either they need to go into a non-public class, or a public class in a non-exported package, or the new constants need to be package scope). Thanks. -- Kevin Johan Vos wrote: > Hi Kevin, > > Just to make sure I understand this approach: you want a (new or > existing) Foo.Java file in the modules/javafx.web space that contains > e.g. this: > > public static int DIRECTIONALITY_LEFT_TO_RIGHT = > Character.DIRECTIONALITY_LEFT_TO_RIGHT; > > Applying javac -h (which the build already does) will generate Foo.h > > In modules/javafx.web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h > we replace the > > #include java_lang_Character.h > > with > > #include Foo.h > > > Is this correct? > > > - Johan > > > On Thu, Nov 30, 2017 at 2:13 PM Kevin Rushforth > > wrote: > > Hi Johan, > > Thanks for filing the bug. > > If we really do need Character and IDN, then the cleanest approach > might be to define new fields in a suitable JavaFX class and > assign the appropriate values to them. > > > -- Kevin > > > > Johan Vos wrote: >> I filed a bug (https://bugs.openjdk.java.net/browse/JDK-8192806) >> and I am looking into it. >> >> It seems a bit weird to me that the java.lang.Character and >> java.net.IDN header files are needed. I'll remove them and see >> where it fails. >> But if they are needed (and they probably are), it won't be easy >> to generate them with javac -h as that requires the source code >> instead of the classfiles. That would require access to the >> java.lang.Character and java.net.IDN java source code in OpenJDK, >> from within OpenJFX. >> >> - Johan >> >> On Wed, Nov 29, 2017 at 8:02 PM Kevin Rushforth >> > >> wrote: >> >> Hi Johan, >> >> Thanks for pointing this out. I had missed that this was >> targeted to JDK 10. >> >> We eliminated all but one use of javah, in favor of javac -h, >> in JDK 9 >> [1]. The only one remaining is in the web module. I can't >> remember why >> that wasn't switched at the same time (I have a fuzzy >> recollection that >> it might have had something to do with incremental >> compilation), but >> yes, it seems like this will need to be fixed. >> >> If you would like to file a bug then this would be a great >> thing for the >> community to work on. This will block us from moving to JDK >> 10 as a boot >> JDK, so if we end up doing that for JDK 10 then this would >> need to be >> done soon. >> >> Let me know if you would like to work on this. >> >> Thanks. >> >> -- Kevin >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8161704 >> >> >> Johan Vos wrote: >> > Hi, >> > >> > I learned javah might be removed in Java 10 ( >> > http://openjdk.java.net/jeps/313) but as far as I know, it >> is still used in >> > OpenJFX: >> > >> > defineProperty("JAVAH", >> cygpath("$JDK_HOME/bin/javah${IS_WINDOWS ? '.exe' : >> > ''}")) >> > >> > Are there already plans to move to javac -h instead? >> > It seems a relative easy task that might be done by someone >> from the wider >> > community? >> > >> > Thanks, >> > >> > - Johan >> > >> From kevin.rushforth at oracle.com Thu Nov 30 17:25:40 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 30 Nov 2017 09:25:40 -0800 Subject: [10] Review request: 8185923: Bump minimum gradle version to 4.3 for JDK10 Message-ID: <5A203F14.60604@oracle.com> Hi Phil, Please review the following fix to make gradle 4.3 the minimum version: https://bugs.openjdk.java.net/browse/JDK-8185923 http://cr.openjdk.java.net/~kcr/8185923/webrev.00/ We've already been using 4.3 for a few weeks, so it is time to enforce it as the minimum in preparation for enabling JDK 10 as our boot JDK. -- Kevin From johan.vos at gluonhq.com Thu Nov 30 17:40:28 2017 From: johan.vos at gluonhq.com (Johan Vos) Date: Thu, 30 Nov 2017 17:40:28 +0000 Subject: [10] Review request: 8185923: Bump minimum gradle version to 4.3 for JDK10 In-Reply-To: <5A203F14.60604@oracle.com> References: <5A203F14.60604@oracle.com> Message-ID: FWIW, I'm +1 on this. We're using 4.3.1 for building JavaFX on mobile. - Johan On Thu, Nov 30, 2017 at 6:36 PM Kevin Rushforth wrote: > Hi Phil, > > Please review the following fix to make gradle 4.3 the minimum version: > > https://bugs.openjdk.java.net/browse/JDK-8185923 > http://cr.openjdk.java.net/~kcr/8185923/webrev.00/ > > We've already been using 4.3 for a few weeks, so it is time to enforce > it as the minimum in preparation for enabling JDK 10 as our boot JDK. > > -- Kevin > > From martijnverburg at gmail.com Thu Nov 30 18:57:03 2017 From: martijnverburg at gmail.com (Martijn Verburg) Date: Thu, 30 Nov 2017 18:57:03 +0000 Subject: javapackager feedback and questions In-Reply-To: <4729a893-3faa-c3ee-9669-ff932a0912de@oracle.com> References: <4729a893-3faa-c3ee-9669-ff932a0912de@oracle.com> Message-ID: Hi Victor, I can answer the last Q. It's for two products, one is Censum our GC Log analyser (Java swing desktop app, yes they still exist! ;p) and the second is a stand alone Java 'daemon' for our APM SaaS tool (illuminate). jlink and javapackager is a powerful combination for us, so thanks for these tools! Cheers, Martijn On 29 November 2017 at 23:18, wrote: > Hi, Mani. > > Thanks for providing the feedback! > We will consider adding more examples and more details in the docs as you > proposed(there is an arg named jvmOptions but that's not mentioned in the > table). > Looks like there is a bug when you specify systemWide=true on the MacOSX > in non-gui mode. Can you provide more details about that (like full cmd > line)? > Actually, if you want you can clone the repo: > http://hg.openjdk.java.net/openjfx/10-dev/rt/ > (hg clone http://hg.openjdk.java.net/openjfx/10-dev/rt/) > and help to improve javapackager. Or you can just create Enhancements for > deploy/packager, as it's not always clear what users expect. > > By the way, what kind of apps you distribute using javapackager? Is that a > UI app or services? > > --Victor > > > > On 11/29/17 3:48 AM, Mani Sarkar wrote: > >> Hi all, >> >> First I hope I'm writing to the correct mailing list, if not please >> suggest >> where to write instead. Also if it is worth writing back as separate >> messages per issue or item, please do let me know. >> >> Some of my observations and feedback when using *javapackager*: >> >> *Positives* >> - .dmg and .msi packaging work very well out of the box, easy to put >> together configuration settings >> - .rpm packages build very quickly >> - a number of features from FPM (docs >> | GitHub >> ) available but some more for the >> individual types of packages would certainly help (for e.g. exposing some >> more of the CLI flags for DEB and RPM packaging) >> >> *Improvements* >> - [doc and example required]: Additional documentation and examples around >> how to add a license when building a package would be helpful. After a bit >> of searching on google and experimenting with couple of combinations of >> CLI >> options I was able to figure it out. >> - [doc correction]: jvmUserArg is referred to in the documentation with >> examples, while in the usage documentation jvmOptions is used (discrepancy >> between the names of flags), see >> https://docs.oracle.com/javase/8/docs/technotes/tools/unix/ >> javapackager.html >> and >> https://docs.oracle.com/javase/9/deploy/self-contained- >> application-packaging.htm#JSDPG585 >> - [doc correction]: same goes for mac.signing-key-user-name while there is >> no mention of it in the javapackager usage documentation, it takes the >> full >> name of the user i.e. *Jane Doe* >> *- *[doc and example required]: just adding >> mac.signing-key-developer-id-app=xxxxx isn't enough, needs the other >> code-sign related flags as well, possibly key should be in the Mac >> KeyStore >> when building it (check if id provided is the correct one, additional >> examples would definitely help to reduce or eliminate experimentation and >> assumptions) >> - [potential bug]: Using *-B*systemWide=true flag causes error -10810 when >> building on the MacOSX in non-gui mode, can be overridden by using the >> -Bmac.dmg.simple=true but we loose the backdrop and automatic shortcut >> creation, etc... Swappin gthe order to: -Bmac.dmg.simple=true and *-B* >> systemWide=true does not help, still ends up building a .dmg package with >> just the app in it (no icon, no background) >> - code signing examples for Windows and MacOSX will certainly help quite a >> bit >> - [doc and example required] .deb packages take a long time to build, some >> additional flags that can help. Some findings along the lines on how to >> speed up dpkg-build: >> >> export CCACHE_DIR=/home/$USER/.ccache >> >> export CCACHE_HASHDIR=$CCACHE_DIR >> >> export DEB_BUILD_OPTIONS="${DEB_BUILD_OPTIONS} >> --preserve-envvar=CCACHE_DIR >> --prepend-path=/usr/lib/ccache parallel=jobs" >> >> echo "Debian build options: ${DEB_BUILD_OPTIONS}" >> >> ------------------------------- >> >> A response with answers for the above will be highly appreciated. >> >> Thanks. >> >> Cheers, >> Mani >> > >