<div dir="ltr">About why "isn't", I guess harfbuzz has developed before DirectWrite, but I like to know if a separate API for substitution and positioning a possibility? Or, is accepting glyphs instead on input [and later as an optimization, hb_shape without positioning] a possibility? Have a look at hb-directwrite's <a href="https://github.com/harfbuzz/harfbuzz/blob/21646cc4a6160088933774e179df9be4865a9f4b/src/hb-directwrite.cc#L672">GetGlyphs</a> and <a href="https://github.com/harfbuzz/harfbuzz/blob/21646cc4a6160088933774e179df9be4865a9f4b/src/hb-directwrite.cc#L717">GetGlyphPlacements</a>.<div><br></div><div>Consider this question as a personal curiosity first but I like to know whether we can provide better support to Wine project and to be honest I like to extend my knowledge by reading the answers. The code (hb-ot-shape and friends) also look straightforward in order to support that but I guess this make some analyzing step necessary?</div><div><br></div><div>Also another advantage to that, I guess, now that we want to support things changing behavior on different sizes such `trak` (AFAIK?), maybe this separation can help having things like Chrome's FontCache work on macOS fonts? <a href="https://codereview.chromium.org/1962263002">https://codereview.chromium.org/1962263002</a></div><div><br></div><div>Thanks.</div></div>