[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: [OpenJDK 2D-Dev] [PATCH] JDK-8146035: Windows - With LCD antialiasing, some glyphs are not rende
From:       Alexander Potochkin <alexander.potochkin () oracle ! com>
Date:       2016-04-29 16:58:26
Message-ID: 1b301994-1ab6-b582-41f1-2b4a84c7cf09 () oracle ! com
[Download RAW message or body]


for the reference: the fix was committed to JDK8 and JDK9

Thank you Dmitry for your contribution!
alexp

On 4/14/2016 12:00, Alexey Ivanov wrote:
> Hi Phil,
>
> Thank you very much for your reviewing the code and approving the fix.
>
> I have uploaded the webrev to OpenJDK:
> http://cr.openjdk.java.net/~aivanov/dmitry.batrak/8146035/jdk9/webrev.00/
>
> The patch is the same.
>
> On 12.04.2016 20:22, Phil Race wrote:
>> Alexey didn't say this but he already proposed exactly this fix himself
>> in a private email exchange,
>
> I didn't say that because it was Dmitry who was the original author of 
> the fix. :)
> Alex and I asked Dmitry to submit his fix to the public alias to give 
> him proper credit as the author of the fix.
>
>
> Regards,
> Alexey
>
>>
>> +1, although I am not sure we can legally pull down the patch from 
>> that (any) website.
>> Please resubmit it as a diff in the email.
>>
>> Or Alexey could just push it as his own :-)
>>
>> -phil.
>>
>> On 04/07/2016 05:26 AM, Dmitry Batrak wrote:
>>> Hello,
>>>
>>> I'd like to propose a fix for JDK-8146035. I am not a committer,
>>> so I hope someone can sponsor this fix.
>>> I work at Jetbrains, which has signed a company-level contributor 
>>> agreement,
>>> so, from a legal perspective, I believe, there are no obstacles.
>>>
>>> My investigation shows that the issue is caused by incorrect 
>>> determination
>>> of bitmap size, prepared for glyph rendering, so only part of glyph
>>> becomes visible due to cropping. This seems to happen because
>>> compatible bitmap is not selected into memory device context (DC)
>>> before calling GetTextMetrics. Documentation for CreateCompatibleDC 
>>> call
>>> (https://msdn.microsoft.com/en-us/library/windows/desktop/dd183489%28v=vs.85%29.aspx) 
>>>
>>> says compatible bitmap needs to be selected into DC before any 
>>> drawing operation.
>>> Even though GetTextMetrics is not a drawing operation, it turns out
>>> to be affected by selected bitmap's type too (by default a 
>>> monochrome bitmap
>>> is selected in a memory DC). This behaviour was also mentioned in 
>>> the following
>>> MSDN blog post comment:
>>> https://blogs.msdn.microsoft.com/oldnewthing/20060614-00/?p=30873#comment-392143 
>>>
>>>
>>> The proposed fix is to select a temporary 1x1 compatible bitmap
>>> into memory DC before GetTextMetrics call.
>>> Here's webrev link - http://adm-12504.intellij.net/
>>> I didn't create a test case, as it would require a specific font file
>>> (I couldn't reproduce the issue for fonts bundled with Windows).
>>>
>>> Best regards,
>>> Dmitry Batrak
>>
>

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic