Rendering the glyphs of Indian Native Languages

39 views
asked Oct 9 in GUI Development by Preethi Somasundaram

Hi,

We tried to use Indian Native Language glyphs.

Actually we need to combine two separate glyphs into one (something like Arbaic, Hebrew) where the shaper is required

Input:

Glyph 1 : प (Unicode - 092A)

Glyph 2: ि(Unicode - 093F)

Expected Output :

Combining these two will provide : पि

 

Embedded Wizard Output:

By Combining these two glyphs :

I tried to paste the combined glyph in other editors like Notepad, Word Etc . There the result is what is expected (i.e पि)

But Embedded Wizard gives a different result, What is been actually done in this case ?

What the shaper does in this case?

Best Regards,

Preethi S,

Robert Bosch - India

 

1 Answer

0 votes
answered Oct 9 by Manfred Schweyer

Hi Preethi,

Embedded Wizard supports (since version 9.10) bidirectional text (BIDI) output with left-to-right (LTR) and right-to-left (RTL) text writing order, as well as combinations of them. This makes it possible to show Arabic or Hebrew strings (RTL order) combined with Latin strings (LTR order). The bidirectional text output is implemented according to the Unicode Standard Annex #9 Unicode version 10.0.0.
For printing Arabic strings, contextual shaping and mandatory ligatures are supported.

For other languages like Indic scripts and languages, there is no shaping available. In this case you have to use the character codes (code points) of the glpyhs with the combined shapes.

Best regards,

Manfred.

commented Oct 10 by Preethi Somasundaram
Hi Manfred,

Contextual Shaping for Arbaic Strings is for Bitmap fonts right?

In that case, how the shaping(i.e. Combining two glyphs into one) is handled in font engine only for Arabic and Hebrew?

Anyother way to achieve for Indic Scripts apart from manually using the character codes of glyphs with combined shapes using bitmap fonts?

Whether it is possible to achieve if we integrate FreeType Font Engines?

Whether the True Type Engine integration in the Roadmap?
 

Best Regards,

Preethi S,

Robert Bosch - India
commented Oct 10 by Manfred Schweyer
Hi Preethi,

shaping is not handled by a font engine. It is an aspect of the text processing and the text drawing.

In case of Arabic, the shaping is part of the BiDi functionality.

The bitmap font converter or an external TrueType font engine is only responsible to rasterize a certain glyph from a vector based format into a pixel based format. Thus, the usage of FreeType Font Engine will not help to get the shaping for Indic scripts or languages.

The integration of an external True Type font engine is already possible - but as mentioned, it will not solve that issue.

Since I'm not familiar with Indic scripts I cannot estimate how complex the shaping in case of Indic is. Are there any third-party libraries to make the string processing?

Best regards,

Manfred.
commented Oct 11 by Preethi Somasundaram
Hi Manfred,

Complex Script third-party library available for string processing .

Is it possible to integrate this shaping library with bitmap font convertor?

 

Best Regards,

Preethi S,

Robert Bosch - India
commented Oct 11 by hemantgct
Hi Manfred,

With Freetype, as Preethi mentioned, we have Harfbuzz and ComplexScript 3rd party libs that support Indic languages

With Monotype, we could use the World Type shaper for Indic languages.

Would be great if you could guide us how a 3rd party Font engine+shaper can be integrated with Embedded wizard.

As a general query, is there a plan in the Emb Wiz roadmap to integrate Freetype or monotype engine & shaping support in addition to the Bitmap font renderer?

 

Thanks,

Hemant

Robert Bosch GmbH
commented 6 days ago by Manfred Schweyer
Hi Hemant, hi Preethi,

we are currently in discussion about the necessary enhancements in order to support shaping for Inidc script languages.

The integration of an external TrueType font engine is already possible - but this is not the solution for that issue. The integration of an external "script engine" (not font engine) is currently not possible.

In order to find the best solution, please let me know some more details:

1.) Do you have the need for shaping Indic text strings only for static strings or also for strings that are received or inserted dynamically during runtime? If you only have static strings, you can do the text shaping on PC (e.g. within the Excel string table export) and use the code points for the shaped glyphs.

2.) What kind of Indic scripts are you using? Within the UNICODE standard there are several Indic scripts mentioned.

Thank you and best regards,

Manfred.
commented 6 days ago by Preethi Somasundaram
Hi Manfred,

Currently we also have usecases where strings will be received dynamically at runtime where shaping will be required.

And regarding Indic script we are concentrating on Hindi . Inaddition to Indic scripts we have same issues for combined glyphs for Indonesian , Russian and Thai Scripts.

Best Regards,

Preethi S,

Robert Bosch - India
commented 6 days ago by Manuel Melic

Hi Preethi,

Just for the avoidance of doubts: Which scripts are you referring to? Within to UNICODE standard, the following Indic scripts are mentioned:

image

Can you please shed some light on this?

Thanks and best regards,
Manuel

commented 6 days ago by Preethi Somasundaram
Hi Manuel,

1. Hindi  -  Devanagiri script(3rd one)

2. Russian - Cyrillic script

3. Thai

4. Indonesian - Tagalog, Hanunoo, Buhid, Tagbanwa, Buginese, Balinese, Javanese, Rejang, Batak and Sundanese scripts

Best Regards,

Preethi S,

Robert Bosch - India

Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint

...