[jira] [Assigned] (NETBEANS-4533) Chinese characters not displayed in table header for ordered column (Windows Look)

2020-10-16 Thread Adrien DE GEORGES (Jira)


 [ 
https://issues.apache.org/jira/browse/NETBEANS-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adrien DE GEORGES reassigned NETBEANS-4533:
---

Assignee: Laszlo Kishalmi  (was: Adrien DE GEORGES)

> Chinese characters not displayed in table header for ordered column (Windows 
> Look)
> ---
>
> Key: NETBEANS-4533
> URL: https://issues.apache.org/jira/browse/NETBEANS-4533
> Project: NetBeans
>  Issue Type: Bug
>  Components: platform - OutlineTreeTable
> Environment: Windows 7, using the Windows Look and Feel.
>Reporter: Adrien DE GEORGES
>Assignee: Laszlo Kishalmi
>Priority: Major
>  Labels: pull-request-available
> Attachments: BugETableChinese.zip, ETableHeader.java.v8.2.patch
>
>  Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> Scenario:
>  * Use the Windows Look and Feel in your Java application (with Metal: no 
> problem).
>  * Create a ETable with a column header having characters in Chinese or 
> Japanese (or any not supported by Tahoma font).
>  * When running the program, click on this header to sort the column => these 
> characters will be replaced by a square.
>  (small Maven project attached, with 1 class and one main method)
> Root cause:
>  The headers of the sorted columns will be rendered in bold by the ETable, 
> which is done in "ETableHeader::getTableCellRendererComponent". This code 
> takes the font of the JLabel used for the rendering, and creates a similar 
> font in bold. For that, it does not uses "Font::deriveFont(...)" (because of 
> a 2005 bug with Apple's JVM), but uses "(new Font (label.getFont().getName(), 
> ...)".
>  Under Windows it is a problem:
>  * the default font (used here by the JLabel) is a composite font
>  * from what I understand, a composite font is a list of physical fonts, 
> which will be successively used to try to render a given character.
>  * this list of the physical fonts contains one that supports Chinese 
> characters.
>  * label.getFont().getName() retrieves the name of the first font of the 
> composite font, in the case of the Windows Look and Feel it is "Tahoma" 
> (which does not support Chinese).
>  * so the "new Font(...)" used as a header renderer will be only "Tahoma", 
> hence the square characters.
>  
> The suggestion is to revert the patch from 2005 as it is not reproductible 
> anymore (change of JRE)
> Old code:
>  // don't use deriveFont() - see #49973 for details
>  label.setFont (new Font (label.getFont ().getName (), Font.BOLD, 
> label.getFont ().getSize ()));
> New code:
>  label.setFont(label.getFont().deriveFont(Font.BOLD));
> A patch is attached in the ticket.
> Please note that this is a duplicate of a bug already logged in the old 
> Bugzilla : [https://bz.apache.org/netbeans/show_bug.cgi?id=270091]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



[jira] [Assigned] (NETBEANS-4533) Chinese characters not displayed in table header for ordered column (Windows Look)

2020-10-15 Thread Adrien DE GEORGES (Jira)


 [ 
https://issues.apache.org/jira/browse/NETBEANS-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adrien DE GEORGES reassigned NETBEANS-4533:
---

Assignee: Adrien DE GEORGES  (was: Laszlo Kishalmi)

> Chinese characters not displayed in table header for ordered column (Windows 
> Look)
> ---
>
> Key: NETBEANS-4533
> URL: https://issues.apache.org/jira/browse/NETBEANS-4533
> Project: NetBeans
>  Issue Type: Bug
>  Components: platform - OutlineTreeTable
> Environment: Windows 7, using the Windows Look and Feel.
>Reporter: Adrien DE GEORGES
>Assignee: Adrien DE GEORGES
>Priority: Major
>  Labels: pull-request-available
> Attachments: BugETableChinese.zip, ETableHeader.java.v8.2.patch
>
>  Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> Scenario:
>  * Use the Windows Look and Feel in your Java application (with Metal: no 
> problem).
>  * Create a ETable with a column header having characters in Chinese or 
> Japanese (or any not supported by Tahoma font).
>  * When running the program, click on this header to sort the column => these 
> characters will be replaced by a square.
>  (small Maven project attached, with 1 class and one main method)
> Root cause:
>  The headers of the sorted columns will be rendered in bold by the ETable, 
> which is done in "ETableHeader::getTableCellRendererComponent". This code 
> takes the font of the JLabel used for the rendering, and creates a similar 
> font in bold. For that, it does not uses "Font::deriveFont(...)" (because of 
> a 2005 bug with Apple's JVM), but uses "(new Font (label.getFont().getName(), 
> ...)".
>  Under Windows it is a problem:
>  * the default font (used here by the JLabel) is a composite font
>  * from what I understand, a composite font is a list of physical fonts, 
> which will be successively used to try to render a given character.
>  * this list of the physical fonts contains one that supports Chinese 
> characters.
>  * label.getFont().getName() retrieves the name of the first font of the 
> composite font, in the case of the Windows Look and Feel it is "Tahoma" 
> (which does not support Chinese).
>  * so the "new Font(...)" used as a header renderer will be only "Tahoma", 
> hence the square characters.
>  
> The suggestion is to revert the patch from 2005 as it is not reproductible 
> anymore (change of JRE)
> Old code:
>  // don't use deriveFont() - see #49973 for details
>  label.setFont (new Font (label.getFont ().getName (), Font.BOLD, 
> label.getFont ().getSize ()));
> New code:
>  label.setFont(label.getFont().deriveFont(Font.BOLD));
> A patch is attached in the ticket.
> Please note that this is a duplicate of a bug already logged in the old 
> Bugzilla : [https://bz.apache.org/netbeans/show_bug.cgi?id=270091]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



[jira] [Assigned] (NETBEANS-4533) Chinese characters not displayed in table header for ordered column (Windows Look)

2020-10-12 Thread Adrien DE GEORGES (Jira)


 [ 
https://issues.apache.org/jira/browse/NETBEANS-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adrien DE GEORGES reassigned NETBEANS-4533:
---

Assignee: Laszlo Kishalmi

> Chinese characters not displayed in table header for ordered column (Windows 
> Look)
> ---
>
> Key: NETBEANS-4533
> URL: https://issues.apache.org/jira/browse/NETBEANS-4533
> Project: NetBeans
>  Issue Type: Bug
>  Components: platform - OutlineTreeTable
> Environment: Windows 7, using the Windows Look and Feel.
>Reporter: Adrien DE GEORGES
>Assignee: Laszlo Kishalmi
>Priority: Major
>  Labels: pull-request-available
> Attachments: BugETableChinese.zip, ETableHeader.java.v8.2.patch
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> Scenario:
>  * Use the Windows Look and Feel in your Java application (with Metal: no 
> problem).
>  * Create a ETable with a column header having characters in Chinese or 
> Japanese (or any not supported by Tahoma font).
>  * When running the program, click on this header to sort the column => these 
> characters will be replaced by a square.
>  (small Maven project attached, with 1 class and one main method)
> Root cause:
>  The headers of the sorted columns will be rendered in bold by the ETable, 
> which is done in "ETableHeader::getTableCellRendererComponent". This code 
> takes the font of the JLabel used for the rendering, and creates a similar 
> font in bold. For that, it does not uses "Font::deriveFont(...)" (because of 
> a 2005 bug with Apple's JVM), but uses "(new Font (label.getFont().getName(), 
> ...)".
>  Under Windows it is a problem:
>  * the default font (used here by the JLabel) is a composite font
>  * from what I understand, a composite font is a list of physical fonts, 
> which will be successively used to try to render a given character.
>  * this list of the physical fonts contains one that supports Chinese 
> characters.
>  * label.getFont().getName() retrieves the name of the first font of the 
> composite font, in the case of the Windows Look and Feel it is "Tahoma" 
> (which does not support Chinese).
>  * so the "new Font(...)" used as a header renderer will be only "Tahoma", 
> hence the square characters.
>  
> The suggestion is to revert the patch from 2005 as it is not reproductible 
> anymore (change of JRE)
> Old code:
>  // don't use deriveFont() - see #49973 for details
>  label.setFont (new Font (label.getFont ().getName (), Font.BOLD, 
> label.getFont ().getSize ()));
> New code:
>  label.setFont(label.getFont().deriveFont(Font.BOLD));
> A patch is attached in the ticket.
> Please note that this is a duplicate of a bug already logged in the old 
> Bugzilla : [https://bz.apache.org/netbeans/show_bug.cgi?id=270091]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists