changing joining type of glyphs from U-JOINING to D-joining

Hi there
I have a problem with joining- type of my newly added glyph. i have added a glyph
to arabic font of which the unicode was supplied by the unicode consotium this year. its a dual joining glyph (that joins on both sides)and it has two form medial and final.its unicode is U+0620. But it does not join like other glyphs.it remains in its isolated form . i need to change its joining type from default joining type(which is non-joining or U) to dual joining( D).I dont know how to do it. i m using FONTLAB STUDIO 5.0 as my tool.
thanks in advance

John Hudson's picture

The problem is not in the font. OpenType Arabic relies on script shaping engines, e.g. Microsoft's Uniscribe, to analyse character strings and determine which OTL substitution features to apply to each character. The shaping engine makes this determination based on Unicode character properties. So for any Arabic character that the shaping engine knows about, is has a record of whether it is non-joining, dual-joining or right-joining, and then applies the appropriate layout features depending on the position of that character in the text string. The problem you are observing with U+0620 is almost certainly because the shaping engine does not know about this character because it is a new addition to Unicode and the shaping engine has not been updated to include a record of its properties and how to handle the layout.

nusrat shamas's picture

thanks a lot John...
Can i update the shaping engine and tell it somehow about my new character....

John Hudson's picture

No, the shaping engine is an operating system or application component.

In what software are you testing your font (including version number) and on what operating system (including version and service pack number if any)?

nusrat shamas's picture

thanks once again
i test my font in Microsoft office word 2007
and the operating system i use is Windows 7 ultimate

John Hudson's picture

Microsoft Office and Windows both ship with versions of the Uniscribe shaping engine. Word will use the Office version of Uniscribe.

Try testing your font in Notepad, which will use the Windows version of Notepad. This will reveal whether U+0620 is supported in that version, although I doubt it since the character was added in 2010. That was probably too late for Windows 7 and probably even or Office 2010.

I will write to some colleagues at Microsoft to find out whether U+0620 is supported in the upcoming Windows 8 version of Uniscribe.

nusrat shamas's picture

I tried it with notepad but it does not work..
Its the same as in ms word.

John Hudson's picture

As I thought, the character was added to Unicode too recently to be supported in Windows 7. I'll let you know when I hear back from contacts at Microsoft re. Windows 8.

John Hudson's picture

From MS:

We added shaping support for U+0620 in Windows 8. We updated the existing shaping engines to Unicode 6.0.

Office 2010 won't shape this character on Windows 8, though, because Office uses its own internal copy of Uniscribe which matches Windows 7.

jcrippen's picture

I think there is some voodoo incantation that allows one to replace the internal copy of Uniscribe in Office. I haven’t done it in a long time so I don’t remember how. But for individual users or small groups, this is a possible temporary fix once the updated Uniscribe is available.

John Hudson's picture

I have not done this recently, but if you have an updated Uniscribe and can locate the one used by Office on your system you can simply replace the usp10.dll file. However, I don't know if this still works (there were concerns about usp10.dll as a possible security risk some time ago, so access to it might be more restricted), and it probably voids your warranty and may be contrary to the Office license agreement.

nusrat shamas's picture

Thanks very much for this very useful information.

Syndicate content Syndicate content