The OpenType spec describes lfdb and rfbd features that supposedly contain the information I need to implement optical margins: https://docs.microsoft.com/en-us/typography/opentype/spec/features_ko#lfbd
But it is very unclear to me how
Application interface: For GIDs found in the 'lfbd' coverage table, the application passes a GID to the table and gets back a new XPlacement and XAdvance value
translates to harfbuzz api.