<div dir="ltr"><div dir="ltr">Hello,<br><br>I am using HarfBuzz and FreeType to render text in 70 languages and result is very good, even looking into details! <br>I wonder if I could get some explanation to deal with better positioning.</div><div dir="ltr"><br></div><div dir="ltr">Both HB and FT provides datas: which ones to choose explicitly?<br>Format is fractional 26/6, but how and when to round?<br><br>I've sum up all positions datas (with owner prefixes).<br>This is about horizontal layout and LTR (but could also be RTL).<br><br>From FreeType (Face/glyph/metrics).<br>- FT_offset_x (horiBearingX),<br>- FT_kerning_x<br>- FT_rsb/lsb_deltas (hinting)<br>- FT_advance_x<br><br>From HarfBuzz (hb_glyph_position_t)<br>- HB_x_advance<br>- HB_x_offset<br>- HB_y_offset<br>  <br>In y axis:<br>- FT_offset_y (ascender or height - horiBearingY)<br>- HB_y_offset<br><br>Rounding:<br>- FLOOR(X) (((X) & -64) / 64)<br>- CEIL(X)  FLOOR((X) + 63)<br>- ROUND(X) FLOOR((X) + 32)<br><br>- How to round and when? (Why does HB provide fractionnals if tutorials start by using floor()?).</div><div dir="ltr">- With hinting (auto hinted), should we use FT rsb/lsb_detlas?<br>- What about FT kerning ?<br><br>Of course I've a start of a solution. Result looks 99% ok I guess.<br>Maybe I've some rounding (1px) between spacing or hinted glyph offset.<br><br>I've also seen:<br><a href="https://github.com/harfbuzz/harfbuzz-tutorial/blob/master/hello-harfbuzz-freetype.c">https://github.com/harfbuzz/harfbuzz-tutorial/blob/master/hello-harfbuzz-freetype.c</a><br><a href="https://cgit.freedesktop.org/cairo/tree/src/cairo-ft-font.c">https://cgit.freedesktop.org/cairo/tree/src/cairo-ft-font.c</a><br>But for instance:<br>- HB provides fractionals 26/6, but tutorial starts by using floor()?<br>- Cairo convert to double and don't use rsb/lsb_delta, not even kerning and is not aware of HB ?<br><br>Thanks for you help,<br>Sylvain<br><br></div></div>