Constructing the various check digits according to the weighted algorithm described in ICAO9303-3
https://cdn.masto.host/socialwildeboernet/media_attachments/files/113/760/859/097/533/667/original/6809f2b1c3d369d8.png
It took me a lot of trial and error, but I can now generate the correct MRZ (Machine Readable Zone) content with a bit of HTML and JavaScript. Verified with various passport/identity card scanning apps :) Getting the input for the composite checksum right was quite frustrating, but it works now :)
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.