Hi Team,
We are using the Harfbuzz 0.9.34 version. While rendering the Malayalam string using the Harfbuzz and Freetype engine, we see some issues. *String used: *ക്കേ *Unicode value:* 0x0d15, 0x0d4d, 0x0d15, 0x0d47, 0x0000 *Harfbuzz Output:* *Proper Output :* *Font File used:* Akruti Family, Since this is a licensed font file, we are not able to share it. *Issue in Detail:* In the font file, script mlym { # Malayalam feature Akhands; feature BelowBaseSubstitutions; feature *HalfForms*; feature PostBaseForms; feature PostBaseSubstitutions; feature *PreBaseSubstitutions*; } As per the Harfbuzz implementation, below substitution is happening as part of the HalfForms , 0x0d15 & 0x0d4d è XYZ character, so the output is XYZ, 0x0d15, 0x0d47 Final re-ordering happens and rearranges as below, XYZ, 0x0d15, 0x0d47 è XYZ, 0x0d47, 0x0d15 As per the PreBaseSubstitutions, XYZ & 0x0d15 is not matched and the output is not proper. In-Order to solve this issue, below changes has been done, Final Re-ordering, PSB for the code changes As per the PreBaseSubstitutions, XYZ & 0x0d15 forms the final character. *Code Modifications:* In the file hb-ot-shape-complex-indic.cc, if we modify the lines as below in the function final_reordering_syllable() it is working, if (start + 1 < end && start < base) /* Otherwise there can't be any pre-base matra characters. */ { /* If we lost track of base, alas, position before last thingy. */ unsigned int new_pos = base == end ? base - 2 : base - 1; /* Malayalam / Tamil do not have "half" forms or explicit virama forms. * The glyphs formed by 'half' are Chillus or ligated explicit viramas. * We want to position matra after them. */ if (buffer->props.script != HB_SCRIPT_MALAYALAM && buffer->props.script != HB_SCRIPT_TAMIL) { … } if (start < new_pos && info[new_pos].indic_position () != POS_PRE_M) { … } else { … } } } Please comment, will it have any side effect. Best Regards, Uvaraja P. Sindhura P.
_______________________________________________ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/harfbuzz