luafontloader も luaotfload も VORG テーブルを読まない(後者は "todo" となっている)ので, 別の処理を考える必要があります.
以前は t[200].left = -0.5 のように手動で適当に調整していました.しかし luaotfload v2.9902-2019-07-24 で縦組時のグリフの原点位置を知ることができるようになったので,d63cda7 でその情報を使うように書き換えました.
ふと思ったのですが,「縦組時のグリフの原点位置(VORG テーブル相当の内容)を無視する」挙動への需要はあるのでしょうか?
Twitter 上の これ や これ で報告されている Source Han Serif の 〳〵 が LuaTeX-ja で組むと
となります(リガチャ抑制は 〳\null 〵 とか 〳\penalty0〵 とかでできる). 標準メトリック jfm-ujisv.lua に専用の文字クラスを
のように作れば,縦組で 〱 は2文字分の幅を専有しますが,それでもグリフ自体は確保された領域から半角分だけ上にずれ,前の文字と重なってしまう症状が発生しています.これは縦組時のグリフの高さを固定値 (fontloader で言うところの ascent) だと仮定してしまっているためです. OpenType フォントの VORG テーブルを使えれば最も簡単ですが,luafontloader も luaotfload も VORG テーブルを読まない(後者は "todo" となっている)ので, 別の処理を考える必要があります.