[HarfBuzz] Why harfbuzz isn't/couldn't/shouldn't provide separate [optional] API for glyph/positioning?

Ebrahim Byagowi ebraminio at gmail.com
Sat Feb 24 19:33:12 UTC 2018


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 GetGlyphs
<https://github.com/harfbuzz/harfbuzz/blob/21646cc4a6160088933774e179df9be4865a9f4b/src/hb-directwrite.cc#L672>
 and GetGlyphPlacements
<https://github.com/harfbuzz/harfbuzz/blob/21646cc4a6160088933774e179df9be4865a9f4b/src/hb-directwrite.cc#L717>
.

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?

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? https://codereview.chromium.org/1962263002

Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/harfbuzz/attachments/20180224/c077d3ca/attachment.html>


More information about the HarfBuzz mailing list