<div dir="ltr">Hi Lubos,<div><br></div><div>I investigate a little bit more in last few days.</div><div><br></div><div>Since Libreoffice unified all the text layout to use Harfbuzz, it would be best to achieve the result consistent with output generated from Harfbuzz utilities. Binaries can be downloaded from [1]. Here are some examples I use to verify:</div><div><br></div><div>./hb-view -O png -o ~/output.png \<br>   --shapers=ot,fallback \<br>       --direction ttb \</div><div>--font-funcs=ot \<br>     ~/下載/kaiu.ttf "「風調,雨順」"<br><br>./hb-shape -O text \<br>   --shapers=ot,fallback \<br>       --direction ttb \</div><div>--font-funcs=ot \  <br> ~/下載/kaiu.ttf "「風調,雨順」"<br></div><div><br></div><div>You can check if it is a text renderer's problem this way when something goes wrong.</div><div>Note that LibreOffice use default font function implementation from Harfbuzz (opentype, --font-funcs=ot ), while the utility use  Freetype library ( --font-funcs=ft ) by default. I find that an</div><div>important Windows built-in font (Kaiu.ttf) doesn't work well with Harfbuzz ot font functions.</div><div><br></div><div>Skia text renderer works with [2], but it means that other text renderers are broken.</div><div>Since Harfbuzz utilities also use Cairo, I believe we must be able to achieve consistent results</div><div>at least with Cairo.  My fix there seems to work[3].</div><div><br></div><div>For Windows, I think it's not possible to make old ExTextOutW API correct for vertical writing. It is possible to use DWriteTextRenderer for vertical writing[4][5]. There are still some clipping issues, though.</div><div><br></div><div>I don't have a Mac so someone needs to fix that if it's broken.</div><div><br></div><div>[1]<a href="https://github.com/harfbuzz/harfbuzz/releases">https://github.com/harfbuzz/harfbuzz/releases</a></div><div>[2]<a href="https://gerrit.libreoffice.org/c/core/+/115014" target="_blank">https://gerrit.libreoffice.org/c/core/+/115014</a><br></div><div></div><div>[3]<a href="https://gerrit.libreoffice.org/c/core/+/115018" target="_blank">https://gerrit.libreoffice.org/c/core/+/115018</a>   <br></div><div>[4]<a href="https://gerrit.libreoffice.org/c/core/+/115016" target="_blank">https://gerrit.libreoffice.org/c/core/+/115016</a> <br>[5]<a href="https://gerrit.libreoffice.org/c/core/+/115017" target="_blank">https://gerrit.libreoffice.org/c/core/+/115017</a> <br><br></div><div class="gmail_quote"><br></div></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div>Mark Hung<br></div></div></div>