Ah there was something that I overlooked before - the VN1 and VN2 both have combining accents too. If I read correctly, the main letter should precede the combining character, just as in Unicode; VN3 seems to lack combining characters altogether.
Thus, for simple text conversion from VN* to Unicode, VN1 should be enough, but some VN2/VN3 control/application specific codes might show up as accented capital letters.
---
The following script rips the table from iconv:
import subprocess
mapping = subprocess.run('iconv -f TCVN -t UTF-8'.split(),
input=bytes(range(256)),
stdout=subprocess.PIPE).stdout.decode()
There were several aliases but all of them seemed to produce identical output. Output matches the VN1 from the tables.
And the luatvn.net additionally *did* have a copyable VN1 - UCS2 table |