[OpenJDK 2D-Dev] <i18n dev> [9] Review request for 8073400: Some Monospaced logical fonts have a different width
Masayoshi Okutsu
masayoshi.okutsu at oracle.com
Sun Mar 20 04:11:26 UTC 2016
The fix looks Okay to me. But there should be a regression test for this
particular case? I wonder if we can have a test case to verify width(s)
of monospaced glyphs.
Masayoshi
On 3/18/2016 4:54 AM, Phil Race wrote:
> I think you are still waiting on i18n to reply here since the
> exclusion ranges
> are mainly used for ensuring that the glyphs come from the right font
> which
> is mainly for locale reasons. If i18n see no problems then I am OK
> with this.
>
> -phil.
>
> On 02/17/2016 05:01 AM, dmitry markov wrote:
>> Hello Phil,
>>
>> Thank you for the review.
>>
>> According to unicode table the characters u201c and u201d are in
>> General Punctuation block, see
>> http://unicode-table.com/en/blocks/general-punctuation/
>> Many characters from this block are not supported by Courier New. So
>> I do not think we need to remove the whole block from the exclusion
>> range, since it will not have any effect except few characters like
>> u201c and u201d. That's why I removed such small characters set
>> (u2018 - u201F) from the exclusion range, but I can change this if it
>> is necessary.
>>
>> At the same time the characters set (u2018 - u201F) is supported by
>> Arial and Times New Roman which are mapped to other logical fonts.
>> The adjusted exclusion range seems 'quite safe' from this point of
>> view. So I do not think we need to modify any code such as
>> FontConfiguration class and so on to apply these changes only to
>> monospaced fonts. Please correct me if I am wrong.
>>
>> Adding i18n-dev.
>>
>> Internationalization team,
>> Could you review a small change in windows.fontconfig.properties,
>> please?
>>
>> bug: https://bugs.openjdk.java.net/browse/JDK-8073400
>> webrev: http://cr.openjdk.java.net/~dmarkov/8073400/jdk9/webrev.00/
>>
>> Problem description:
>> On Windows some characters (in particular, left and right double
>> quotation marks) have width differing from other characters' widths,
>> when Monospaced logical font is used.
>> The default monospaced font for windows platform is Courier New. It
>> contains the desired characters, (i.e. '\u201c' and '\u201d').
>> However the characters are in 'exclusion ranges' for this font due to
>> settings in windows.fontconfig.properties. So when we try to obtain
>> glyphs for these characters and calculate their bounds, we fallback
>> to another font (Lucida) and use its glyphs.
>>
>> Fix:
>> Remove the following set of characters u2018 - u201F from the
>> exclusion ranges.
>>
>> Thank you in advance,
>> Dmitry
>> On 10/02/2016 23:25, Phil Race wrote:
>>> I expect the exclusion range is there for a reason.
>>> I think (guess) that the intent was that where there is a sequence
>>> like this :
>>>
>>> sequence.sansserif.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb
>>>
>>>
>>> then those code points should come from the chinese font.
>>>
>>> Perhaps your adjusted exclusion range should apply only to the
>>> monospaced fonts
>>> which are already putting the locale font first.
>>>
>>> Unfortunately it doesn't appear that this is possible with the
>>> supported syntax
>>> https://docs.oracle.com/javase/1.5.0/docs/guide/intl/fontconfig.html#windows
>>>
>>>
>>> i.e it supports selection only by charactersubsetname, not also by
>>> logicalfontname.
>>> But you should check the code to see if this is in fact the case.
>>> There may need to be a non-ideal decision or a revision to that
>>> spec. and its
>>> supporting code.
>>>
>>> And why be so narrow ? It seems you have made an even odder situation
>>> in having just those two code points 'un'-excluded.
>>> The argument that those were the two a customer complained about
>>> does not
>>> hold up very well.
>>>
>>> I think you should also run this whole change+discussion by i18n-dev ..
>>>
>>>
>>> -phil.
>>>
>>> On 01/14/2016 02:32 AM, dmitry markov wrote:
>>>> Hello,
>>>>
>>>> Could you review the fix for jdk9, please?
>>>>
>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8073400
>>>> webrev:
>>>> http://cr.openjdk.java.net/~dmarkov/8073400/jdk9/webrev.00/
>>>>
>>>> Problem description:
>>>> On Windows some characters (in particular, left and right double
>>>> quotation marks) have width differing from other characters'
>>>> widths, when Monospaced logical font is used.
>>>> The default monospaced font for windows platform is Courier New. It
>>>> contains the desired characters, (i.e. '\u201c' and '\u201d').
>>>> However the characters are in 'exclusion ranges' for this font due
>>>> to settings in windows.fontconfig.properties. So when we try to
>>>> obtain glyphs for these characters and calculate their bounds, we
>>>> fallback to another font (Lucida) and use its glyphs.
>>>>
>>>> Fix:
>>>> Remove the following set of characters u2018 - u201F from the
>>>> exclusion ranges.
>>>>
>>>> Thanks,
>>>> Dmitry
>>>
>>
>
More information about the 2d-dev
mailing list