[HarfBuzz] Thai character tone marks positioning

azbhatti at yahoo.com azbhatti at yahoo.com
Wed Nov 27 04:54:39 UTC 2019


I am trying to use HarfBuzz for Thai multi-layer characters positioning.

Here is the sample character combination.

Actual Presentation: ที่
Separated by space: ท ี ่

UCS BE: 0x0E17, 0x0E35, 0x0E48
UTF-8: 0xE0B897, 0xE0B8B5, 0xE0B988

When the 3rd mark appears immediately after the 2nd mark, it should be rendered above the 2nd mark. However, if the 3rd mark appear after the first character, it should vertically placed almost as the 2nd mark.

I tried getting glyph positions using hb_shape() with Leelawadee and Angsa New fonts.

hb_shape(hb_ft_font, buf, NULL, 0);

With Leelawadee font, I am getting y-offset but not with Angsa New font. However, browsers are rendering the sample characters correctly with both fonts.

Due to this, 2nd and 3rd marks are overlapped with my sample.

Can you please guide if and how we can get correct x and y-offset properly for these fonts.


More information about the HarfBuzz mailing list