Re: [OpenJDK 2D-Dev] RFR: 8252100: NumberOverflow in class MemoryCache

2020-09-15 Thread Sergey Bylokhov
On Tue, 15 Sep 2020 17:28:44 GMT, Phil Race  wrote:

>> Number overflow in javax/imageio/stream/MemoryCache.java
>> I tried to reproduce the issue but was not able to create stream or 
>> BufferedImage of such a large size because of array
>> size limitations. Submitter has mentioned simple fix for overflow which has 
>> solved his issue. I have verified the fix
>> by running jtreg and compatibility tests and there are no failures.
>
> If pos is big enough you could still theoretically have overflow, but this is 
> still better.

You can try to create such images using some separate tools, BTW I have found 
one here(32768 × 32768):
https://forums.bohemia.net/forums/topic/202016-high-quality-maps-for-altis-and-stratis/

-

PR: https://git.openjdk.java.net/jdk/pull/182


Re: [OpenJDK 2D-Dev] RFR: 8253206: Enforce whitespace checking for additional source files

2020-09-15 Thread Phil Race
On Tue, 15 Sep 2020 22:18:09 GMT, Kevin Rushforth  wrote:

> This adds the following extensions to the list of source files that git 
> jcheck will check for whitespace errors:
> 
>  .cc, .hh, .m, .mm
> 
> All files with the above extensions are now white-space clean after the fix 
> for
> [JDK-8240487](https://bugs.openjdk.java.net/browse/JDK-8240487). This will 
> help them stay that way.
> I just integrated a similar fix to `jfx` (with a few more source extensions 
> that aren't relevant for the JDK) in
> [JDK-8240499](https://bugs.openjdk.java.net/browse/JDK-8240499).

Marked as reviewed by prr (Reviewer).

-

PR: https://git.openjdk.java.net/jdk/pull/195


[OpenJDK 2D-Dev] RFR: 8253206: Enforce whitespace checking for additional source files

2020-09-15 Thread Kevin Rushforth
This adds the following extensions to the list of source files that git jcheck 
will check for whitespace errors:

 .cc, .hh, .m, .mm

All files with the above extensions are now white-space clean after the fix for
[JDK-8240487](https://bugs.openjdk.java.net/browse/JDK-8240487). This will help 
them stay that way.

I just integrated a similar fix to `jfx` (with a few more source extensions 
that aren't relevant for the JDK) in
[JDK-8240499](https://bugs.openjdk.java.net/browse/JDK-8240499).

-

Commit messages:
 - 8253206: Enforce whitespace checking for additional source files

Changes: https://git.openjdk.java.net/jdk/pull/195/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=195=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8253206
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/195.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/195/head:pull/195

PR: https://git.openjdk.java.net/jdk/pull/195


Re: [OpenJDK 2D-Dev] RFR: 8250859: Address reliance on default constructors in the Accessibility APIs

2020-09-15 Thread Phil Race
On Tue, 15 Sep 2020 10:04:49 GMT, Conor Cleary  wrote:

> This issue relates to JDK-8250639 '☂ Address reliance on default constructors 
> in the java.desktop module'. The
> following classes have had an explicit no-arg constructor added, with a 
> protected access modifier and accompanying API
> description:
>  - Default ctor on com.sun.java.accessibility.util.SwingEventMonitor
>  - Default ctor on javax.accessibility.AccessibleContext
>  - Default ctor on javax.accessibility.AccessibleHyperlink
> 
> The following classes have had an explicit no-arg constructor added, with a 
> public access modifier and accompanying API
> description:
>  - Default ctor on javax.accessibility.AccessibleResourceBundle
>  - Default ctor on com.sun.java.accessibility.util.AWTEventMonitor
>  - Default ctor on com.sun.java.accessibility.util.AccessibilityEventMonitor
>  - Default ctor on com.sun.java.accessibility.util.AccessibilityListenerList
>  - Default ctor on com.sun.java.accessibility.util.EventID
> 
> specdiff:
> http://cr.openjdk.java.net/~ccleary/issues/webrevs-store/8250859/webrevs/webrev.00/specdiff/overview-summary.html
>  bug:
> https://bugs.openjdk.java.net/browse/JDK-8250859

This looks OK but the CSR needs updates first.

-

Marked as reviewed by prr (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/174


Re: [OpenJDK 2D-Dev] RFR: 8250855: Address reliance on default constructors in the Java 2D APIs

2020-09-15 Thread Phil Race
On Tue, 15 Sep 2020 09:38:02 GMT, Conor Cleary  wrote:

>> Marked as reviewed by serb (Reviewer).
>
> Now awaiting CSR approval as advised

The CSR needs some updates to put the spec inline

-

PR: https://git.openjdk.java.net/jdk/pull/153


Re: [OpenJDK 2D-Dev] RFR: 8252100: NumberOverflow in class MemoryCache

2020-09-15 Thread Phil Race
On Tue, 15 Sep 2020 13:49:19 GMT, Jayathirth D V  wrote:

> Number overflow in javax/imageio/stream/MemoryCache.java
> I tried to reproduce the issue but was not able to create stream or 
> BufferedImage of such a large size because of array
> size limitations. Submitter has mentioned simple fix for overflow which has 
> solved his issue. I have verified the fix
> by running jtreg and compatibility tests and there are no failures.

If pos is big enough you could still theoretically have overflow, but this is 
still better.

-

Marked as reviewed by prr (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/182


[OpenJDK 2D-Dev] RFR: 8252100: NumberOverflow in class MemoryCache

2020-09-15 Thread Jayathirth D V
Number overflow in javax/imageio/stream/MemoryCache.java
I tried to reproduce the issue but was not able to create stream or 
BufferedImage of such a large size because of array
size limitations. Submitter has mentioned simple fix for overflow which has 
solved his issue. I have verified the fix
by running jtreg and compatibility tests and there are no failures.

-

Commit messages:
 - 8252100: NumberOverflow in class MemoryCache

Changes: https://git.openjdk.java.net/jdk/pull/182/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=182=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8252100
  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/182.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/182/head:pull/182

PR: https://git.openjdk.java.net/jdk/pull/182


[OpenJDK 2D-Dev] In windows GlyphVector produces poorer quality output versus using Graphics.drawString

2020-09-15 Thread Anawesha Khuntia
Hi, 


As Per Apache PDFBOX-4709 ( https://issues.apache.org/jira/browse/PDFBOX-4709 
), while printing in windows using GlyphVector produces poorer quality output 
versus using Graphics.drawString(...). There's a significant quality difference 
,especially on low-dpi (e.g. thermal) printers printing with createGlyphVector 
versus drawString. 

Leveraging RenderingHints does not appear to help.

Incase of GlyphVector,the issue seems to be caused by precision loss in 
WPrinterJob.lineTo which maps to wingdi.h LineTo. In all of the jni functions, 
floats are passed, but in native, only ints and longs are accepted. However , 
the drawstring function utilizes the wingdi TextOut function and is unaffected 
due to the text never being converted to curves. It is simply saved as text and 
the recipient renders it.

We have explored various options such as,
1. alternate to lineTo function. However there was no alternate function found 
in GDI.
2. using setmapmode option, it sets the mapping mode of the specified device 
context. Using this too did not help us.
3. another alternate lineadd function was evaluated and found inappropriate coz 
of its dependency on fixed X and Y co-ordinate values which is not the case 
here.
4. renderingHint options too were tried out, however neither the resulted 
characters printed were not smooth, nor the curve of characters were 
smooth.Below options were tried
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, 
RenderingHints.VALUE_ANTIALIAS_ON);
graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION, 
RenderingHints.VALUE_INTERPOLATION_BICUBIC);
graphics.setRenderingHint(RenderingHints.KEY_RENDERING, 
RenderingHints.VALUE_RENDER_QUALITY);


A similar rendering issues have been reported in the bugs : 
https://bugs.openjdk.java.net/browse/JDK-7129078 and 
https://bugs.openjdk.java.net/browse/JDK-6322554

We understand this is a very old issue and various challenges related to GDI 
rendering.These days more and more customers moving into opensource and this 
could well sound like a limitation for a certain set of consumers who has 
strong business need to extensively use low-dpi printers.Hence the recommended 
option would be to look into this issue by the community and fix it.


Regards,
Anawesha 



[OpenJDK 2D-Dev] RFR: 8250859: Address reliance on default constructors in the Accessibility APIs

2020-09-15 Thread Conor Cleary
This issue relates to JDK-8250639 '☂ Address reliance on default constructors 
in the java.desktop module'. The
following classes have had an explicit no-arg constructor added, with a 
protected access modifier and accompanying API
description:
 - Default ctor on com.sun.java.accessibility.util.SwingEventMonitor
 - Default ctor on javax.accessibility.AccessibleContext
 - Default ctor on javax.accessibility.AccessibleHyperlink

The following classes have had an explicit no-arg constructor added, with a 
public access modifier and accompanying API
description:
 - Default ctor on javax.accessibility.AccessibleResourceBundle
 - Default ctor on com.sun.java.accessibility.util.AWTEventMonitor
 - Default ctor on com.sun.java.accessibility.util.AccessibilityEventMonitor
 - Default ctor on com.sun.java.accessibility.util.AccessibilityListenerList
 - Default ctor on com.sun.java.accessibility.util.EventID

specdiff:
http://cr.openjdk.java.net/~ccleary/issues/webrevs-store/8250859/webrevs/webrev.00/specdiff/overview-summary.html
 bug:
https://bugs.openjdk.java.net/browse/JDK-8250859

-

Commit messages:
 - 8250859: Address reliance on default constructors in the Accessibility APIs

Changes: https://git.openjdk.java.net/jdk/pull/174/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=174=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8250859
  Stats: 42 lines in 7 files changed: 35 ins; 0 del; 7 mod
  Patch: https://git.openjdk.java.net/jdk/pull/174.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/174/head:pull/174

PR: https://git.openjdk.java.net/jdk/pull/174


Re: [OpenJDK 2D-Dev] RFR: 8250859: Address reliance on default constructors in the Accessibility APIs

2020-09-15 Thread Conor Cleary
On Tue, 15 Sep 2020 10:04:49 GMT, Conor Cleary  wrote:

> This issue relates to JDK-8250639 '☂ Address reliance on default constructors 
> in the java.desktop module'. The
> following classes have had an explicit no-arg constructor added, with a 
> protected access modifier and accompanying API
> description:
>  - Default ctor on com.sun.java.accessibility.util.SwingEventMonitor
>  - Default ctor on javax.accessibility.AccessibleContext
>  - Default ctor on javax.accessibility.AccessibleHyperlink
> 
> The following classes have had an explicit no-arg constructor added, with a 
> public access modifier and accompanying API
> description:
>  - Default ctor on javax.accessibility.AccessibleResourceBundle
>  - Default ctor on com.sun.java.accessibility.util.AWTEventMonitor
>  - Default ctor on com.sun.java.accessibility.util.AccessibilityEventMonitor
>  - Default ctor on com.sun.java.accessibility.util.AccessibilityListenerList
>  - Default ctor on com.sun.java.accessibility.util.EventID
> 
> specdiff:
> http://cr.openjdk.java.net/~ccleary/issues/webrevs-store/8250859/webrevs/webrev.00/specdiff/overview-summary.html
>  bug:
> https://bugs.openjdk.java.net/browse/JDK-8250859

Changes require approval of CSR, can't request that requirement myself as I am 
not a reviewer

-

PR: https://git.openjdk.java.net/jdk/pull/174


Re: [OpenJDK 2D-Dev] RFR: 8250855: Address reliance on default constructors in the Java 2D APIs

2020-09-15 Thread Conor Cleary
On Mon, 14 Sep 2020 21:27:46 GMT, Sergey Bylokhov  wrote:

>> This issue relates to JDK-8250639 '☂ Address reliance on default 
>> constructors in the java.desktop module'. The changes
>> address the reliance on default constructors by adding in basic constructors 
>> in the following classes:
>> - java.awt.Image
>> - java.awt.PrintJob
>> - java.awt.font.GlyphVector
>> - java.awt.font.LayoutPath
>> - java.awt.font.LineMetrics
>> - java.awt.image.AbstractMultiResolutionImage
>> - java.awt.image.BufferStrategy
>> - java.awt.image.ImageFilter
>> - java.awt.image.RGBImageFilter
>> - java.awt.image.VolatileImage
>> - javax.print.PrintServiceLookup
>> - javax.print.ServiceUI
>> - javax.print.ServiceUIFactory
>> - javax.print.StreamPrintServiceFactory
>> - javax.print.event.PrintJobAdapter
>> 
>> specdiff:
>> http://cr.openjdk.java.net/~ccleary/issues/webrevs-store/8250855/webrevs/webrev.02/specdiff/overview-summary.html
>>  csr:
>> https://bugs.openjdk.java.net/browse/JDK-8252495
>
> Marked as reviewed by serb (Reviewer).

Now awaiting CSR approval as advised

-

PR: https://git.openjdk.java.net/jdk/pull/153