John Walker's Fourmilab Change Log

Monday, October 23, 2017

ISBNiser 1.3 Update Released

I have just posted version 1.3 of ISBNiser, a utility for validating publication numbers in the ISBN-13 and ISBN-10 formats, converting between the formats, and generating Amazon associate links to purchase items with credit to a specified account.

Version 1.3 adds the ability to automatically parse the specified ISBNs and insert delimiters among the elements (unique country code [ISBN-13 only], registration group, registrant, publication, and checksum). If the number supplied contains delimiters, the same delimiter (the first if multiple different delimiters appear) will be used when re-generating the number with delimiters. For example, if all the publisher gives you is “9781481487658”, you can obtain an ISBN-13 or ISBN-10 with proper delimiters with:

The rules for properly placing the delimiters in an ISBN are deliciously baroque, with every language and country group having their own way of going about it. ISBNiser implements this standard with a page of ugly code. If confronted with an ISBN that does not conform to the standard (I haven't yet encountered one, but in the wild and wooly world of international publishing it wouldn't surprise me), it issues a warning message and returns a number with no delimiters.

If the “−p” option is specified, delimiters in the number given will be preserved, regardless of where they are placed. When the “−n” option is specified, allowing invalid ISBN specifications (for example, when generating links to products on Amazon with ASIN designations), no attempt to insert delimiters is made.