<div><div dir="auto">There is much discussion about the encoding of Mongolian- see  </div><div dir="auto"><div dir="auto"><a href="https://www.unicode.org/L2/topical/mongolian/">https://www.unicode.org/L2/topical/mongolian/</a></div></div></div><div dir="auto"><br></div><div dir="auto">Is this discussion taken into account?</div><div dir="auto"><br></div><div><br><div class="gmail_quote"><div>On Wed, Jun 20, 2018 at 10:28 AM Phil Race <<a href="mailto:philip.race@oracle.com">philip.race@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It is not clear to me how this supports Free Variation Selectors for <br>
Mongolian as claimed.<br>
Mongolian has its own variation selectors 0X180B-D.<br>
<br>
When applied on top of the previous patch, it might .. since with the <br>
patch below<br>
Mongolian will then always go through TextLayout, and the harfbuzz <br>
layout code<br>
is being updated to support them. But I don't think it will work without <br>
that patch.<br>
Is that your understanding ?<br>
<br>
Can you turn your "sample" into something that looks like a test (see the<br>
other patch) and use \UNNNN escapes for all the non-ascii text.<br>
<br>
Also bear in mind that adding this does not make Mongolian a "supported <br>
writing system"<br>
for Oracle JDK .. the supported writing systems are just a few, even <br>
though many<br>
more work just fine.<br>
<br>
-phil.<br>
<br>
<br>
On 06/20/2018 12:41 AM, Nakajima Akira wrote:<br>
> Hi All.<br>
><br>
> Now, SWING does not display Mongolian correctly.<br>
><br>
>  # See "Mongolian Glyph Convergence", etc..<br>
> <a href="http://www.unicode.org/versions/Unicode10.0.0/ch13.pdf#G27803" rel="noreferrer" target="_blank">http://www.unicode.org/versions/Unicode10.0.0/ch13.pdf#G27803</a><br>
><br>
><br>
> This is patch for support Mongolian and FVS(Mongolian Free Variation <br>
> Selector).<br>
>  # This patch is separated from JDK-8187100.<br>
><br>
> I checked on CentOS 7.5 and Windows7 SP1 x64.<br>
> Patch works properly or not is unknown on other OS(Mac etc..).<br>
> It will be helpful if person having environment check it.<br>
><br>
> Thanks.<br>
> Akira Nakajima<br>
><br>
><br>
> ====================<br>
> PATCH<br>
> ====================<br>
> diff -r e1b3def12624 <br>
> src/java.desktop/share/classes/sun/font/FontUtilities.java<br>
> --- a/src/java.desktop/share/classes/sun/font/FontUtilities.java Wed <br>
> Jun 13 06:35:04 2018 +0200<br>
> +++ b/src/java.desktop/share/classes/sun/font/FontUtilities.java Wed <br>
> Jun 13 14:14:08 2018 +0900<br>
> @@ -299,6 +299,9 @@<br>
>          else if (code <= 0x17ff) { // 1780 - 17FF Khmer<br>
>              return true;<br>
>          }<br>
> +        else if (code <= 0x18af) { // 1800 - 18AF Mongolian <br>
> (including FVS)<br>
> +            return true;<br>
> +        }<br>
>          else if (code < 0x200c) {<br>
>              return false;<br>
>          }<br>
><br>
><br>
><br>
> ====================<br>
> Sample (mongol2.java)<br>
> ====================<br>
> import javax.swing.*;<br>
> import java.awt.Font;<br>
> import java.awt.BorderLayout;<br>
><br>
> public class mongol2 extends JFrame{<br>
><br>
>   public static void main(String[] args) {<br>
>     mongol2 frame = new mongol2();<br>
><br>
>     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br>
>     frame.setBounds(10, 10, 650, 700);<br>
>     frame.setVisible(true);<br>
>   }<br>
><br>
>   mongol2() {<br>
>     String family = "Mongolian Art";<br>
><br>
>     String str[] = new String[9];<br>
>     str[0] = new String("ᠤ ᠷ ᠲ ᠤ   --> ᠤᠷᠲᠤ (urtu)\n");<br>
>     str[1] = new String("ᠣ ᠷ ᠳ ᠤ   --> ᠣᠷᠳᠤ (ordu)\n");<br>
>     str[2] = new String("ᠡ ᠨ ᠳ ᠡ   --> ᠡᠨᠳᠡ (ende)\n");<br>
>     str[3] = new String("ᠠ ᠳ ᠠ     --> ᠠᠳᠠ  (ada)\n");<br>
>     str[4] = new String("ᠠ ᠪ ᠤ   --> ᠠᠪᠤ (abu)\n");<br>
>     str[5] = new String("ᠣ ᠳ ᠣ   --> ᠣᠳᠣ (odo)\n");<br>
>     str[6] = new String("ᠡ ᠨ ᠡ   --> ᠡᠨᠡ (ene)\n");<br>
>     str[7] = new String("ᠭ ᠠ  --> ᠭᠠ (gal)\n");<br>
>     str[8] = new String("ᠭ᠋ ᠠ  --> ᠭ᠋ᠠ (gal+U+180B)\n");<br>
><br>
>     String str_for_area = new String("");<br>
>     for (int i=0; i<9; i++) {<br>
>       str_for_area += str[i].toString();<br>
>     }<br>
><br>
>     JTextArea area = new JTextArea(str_for_area, 9, 10);<br>
>     area.setFont(new Font(family, 0, 48));<br>
><br>
>     JPanel p = new JPanel();<br>
>     p.add(area);<br>
>     getContentPane().add(p, BorderLayout.CENTER);<br>
>   }<br>
> }<br>
><br>
><br>
> --------------------------------------<br>
> Company: NTT Comware Corporation<br>
> Name: Akira Nakajima<br>
> E-Mail: <a href="mailto:nakajima.akira@nttcom.co.jp" target="_blank">nakajima.akira@nttcom.co.jp</a><br>
> --------------------------------------<br>
<br>
</blockquote></div></div>