<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
<P class=ecxMsoNormal><SPAN style="COLOR: #1f497d"><FONT size=3><FONT face=Calibri><FONT color=#0c0c0c>Hi </FONT><FONT color=#000000>Khaled:</FONT></FONT></FONT></SPAN></P>
<P class=ecxMsoNormal><SPAN style="COLOR: #1f497d"><FONT color=#000000 size=3 face=Calibri></FONT></SPAN> </P>
<P class=ecxMsoNormal><SPAN style="COLOR: #1f497d"><FONT color=#000000 size=3 face=Calibri>Thanks your comments.</FONT></SPAN></P>
<P class=ecxMsoNormal><SPAN style="COLOR: #1f497d"></SPAN> </P>
<P class=ecxMsoNormal><SPAN style="COLOR: #1f497d"><FONT size=3><FONT face=Calibri><FONT color=#0c0c0c>Difficult to make an choice. But we cannot add any glyphs to any fonts ourselves. If the font designers do not provide the medial glyph for U+06C2 we cannot do anything about it. If we follow Unicode standard and specify the character dual joining, we just have to accept that the rendering fails and thatĄ¯s it.</FONT></FONT></FONT></SPAN></P>
<P class=ecxMsoNormal><SPAN style="COLOR: #1f497d"><FONT color=#0c0c0c size=3 face=Calibri> </FONT></SPAN></P>
<P class=ecxMsoNormal><SPAN style="COLOR: #1f497d"><FONT color=#0c0c0c size=3 face=Calibri>So I decide to deviate from Unicode and do as Microsoft does. And with Microsoft as a vast number of font vendors does itĄ treat U+06C2 as single joining, and everybody is (seemingly) happy.</FONT></SPAN></P>
<P class=ecxMsoNormal><SPAN style="COLOR: #1f497d"><FONT color=#0c0c0c size=3 face=Calibri></FONT></SPAN> </P>
Br,<BR>
Dean<BR>
<BR>
<DIV>
<DIV id=ecxSkyDrivePlaceholder></DIV>> Date: Thu, 12 Jul 2012 17:17:13 +0200<BR>> From: khaledhosny@eglug.org<BR>> To: dataozhang@hotmail.com<BR>> CC: jfkthame@googlemail.com; harfbuzz@lists.freedesktop.org<BR>> Subject: Re: [HarfBuzz] HEH GOAL WITH HAMZA ABOVE(0x06C2) error in arabic<BR>> <BR>> As Jonathan pointed out, this input makes no sense if you want to the<BR>> medial heh to be in its final form as it just relies on the<BR>> peculiarities of certain fonts/rendering engines and is against the<BR>> Unicode standard. The more reliable Unicode-way is to insert a ZWNJ<BR>> (U+200C) after the medial heh to force its final form and isolated form<BR>> for the last one.<BR>> <BR>> Regards,<BR>> Khaled<BR>> <BR>> On Thu, Jul 12, 2012 at 10:38:39PM +0800, datao zhang wrote:<BR>> > Hi JK:<BR>> > Thanks your reply. But, in windows 7, the <U+0628,U+06C2,U+06C2> and<BR>> > <U+0628,U+06C1, U+0654,U+06C2> will be rendered as different glyphs, refer to<BR>> > the attachment. I use the "msuighur.ttf" font file of win 7 to display such<BR>> > text, there is no medial glyph for U+06C2 in the font file. It seems win7 shape<BR>> > engine will treat U+062C as single joining.<BR>> > I also check other open source font file, example: DroidSansArabic.ttf, there<BR>> > is no medial glyph for U+06C2. So it seems most of font not include<BR>> > medial glyph for U+062C.<BR>> > <BR>> > I think it better that treat U+062C as a single joining same as win7 shape<BR>> > engine.<BR>> > <BR>> > Br,<BR>> > Dean<BR>> > <BR>> > > Date: Thu, 12 Jul 2012 08:45:31 +0100<BR>> > > From: jfkthame@googlemail.com<BR>> > > To: harfbuzz@lists.freedesktop.org<BR>> > > Subject: Re: [HarfBuzz] HEH GOAL WITH HAMZA ABOVE(0x06C2) error in arabic<BR>> > ><BR>> > > On 12/7/12 04:12, datao zhang wrote:<BR>> > > > Hi Behdad:<BR>> > > > When i try to draw the text "U+0628,U+06C2,U+06C2,U+0020" with harfbuzz,<BR>> > > > i find it is rendered differently in windows 7. please see attachment<BR>> > > > file. After checking the hb-ot-shape-complex-arabic-table.hh, I found<BR>> > > > U+06C2 joining type was JOINING_TYPE_D (double joining). I donĄ¯t know<BR>> > > > why Unicode specifies it double joining, it really does not make any<BR>> > > > sense. At least, when render the text, it should be treated as single<BR>> > > > joining type.<BR>> > ><BR>> > > U+06C2 is classified as double-joining because it has a canonical<BR>> > > decomposition to <U+06C1, U+0654>, and U+06C1 is double-joining. If<BR>> > > U+06C2 were right-joining, we'd have a situation where equivalent text<BR>> > > sequences would have different joining behaviors, so that a canonical<BR>> > > normalization process might unexpectedly alter the rendering.<BR>> > ><BR>> > > While I agree that the various HEH-related characters in Unicode are a<BR>> > > confusing mess, the various compatibility and stability requirements, as<BR>> > > well as the different usage patterns needed for various languages and<BR>> > > regions, make it difficult to see how we could "fix" them.<BR>> > ><BR>> > > The broken-looking result you're getting from harfbuzz happens because<BR>> > > the font used does not have a 'medi' glyph for the U+06C2 character.<BR>> > > This is a font bug.<BR>> > ><BR>> > > To reliably produce the "windows 7" result shown in your attachment, I<BR>> > > believe the correct text sequence would be <U+0628, U+06C2, U+200C, U+06C2>.<BR>> > ><BR>> > > JK<BR>> > > _________________ ______________________________<BR>> > > HarfBuzz mailing list<BR>> > > HarfBuzz@lists.freedesktop.org<BR>> > > http://lists.freedesktop.org/mailman/listinfo/harfbuzz<BR>> <BR>> <BR>> > _______________________________________________<BR>> > HarfBuzz mailing list<BR>> > HarfBuzz@lists.freedesktop.org<BR>> > http://lists.freedesktop.org/mailman/listinfo/harfbuzz<BR>> <BR></DIV> </div></body>
</html>