ISBN 2.5 build: 9639 released: 2011-12-03 compiled with: Java 1.8.0_131 Jet jet12.0-pro-x86/1.8.0_131 Interconverts, tidies and validates ISBN-10 and ISBN-13 book numbers, displaying both with and without dashes. Copyright: (c) 1998-2017 Canadian Mind Products. signed Java Applet (that can also be run as an application). Download from: http://mindprod.com/products1.html#ISBN View HTML to run this program online at: http://mindprod.com/applet/isbn.html ---- Notes: You must install the Java JRE to use this program. See http://mindprod.com/jgloss/jgloss/jre.html This hybrid program is mainly designed to be used as an Applet in a browser but is can also be used from the command prompt, e.g. under Windows command.exe or JPSoft tcc.exe, formerly called the DOS box. Just clicking the programs in a directory listing will not do anything useful. Just typing the program names at the command prompt will not either. This program requires a manual install! See below. I put out an avalanche of free software into the world, and submit PAD files to hundreds of distribution sites, but I rarely hear back from anyone. What's happening? Does it all just work fine? It is so complicated nobody can figure out how to use it and they give up on it? It is it useful? Since everyone has the source, do people just fix the programs to their liking themselves? Did you have trouble installing? Do I presume you know too much? I would be happy to hear from you about your experiences, positive or negative and your requests for improvements. A one-line email to roedy@mindprod.com would be great. ===> Free <=== Full source included. You may even include the source code, modified or unmodified in free/commercial open source/proprietary programs that you write and distribute. May be used freely for any purpose but military. For more details on this restriction, see http://mindprod.com/contact/nonmil.html If you include any Canadian Mind Products code in your own applications, your app too must be labelled non-military use only. http://mindprod.com/contact/nonmil.html All Java jars and source code are included. If you need the class files or Javadoc, you will have to build them yourself. To streamline the zip downloads, class files and Javadoc have been removed. ---- Prerequisites: This program runs under any OS that supports Java, (e.g.W2K/XP/W2003/Vista/W2008/W7-32/W7-64/W8-32/W8-64/Linux/LinuxARM/LinuxX86 /LinuxX64/Ubuntu/Solaris/SolarisSPARC/SolarisSPARC64/SolarisX86/SolarisX64/OSX/AIX...) so long as you have <><> Java version 1.8 <><> or later installed (32-bit or 64-bit Java). See http://mindprod.com/jgloss/installingjava.html for details. ---- Installing on a PC: Download source and compiled jar files to run on your own machine as an application or Applet First install a recent Java JDK or JVM. See http://mindprod.com/jgloss/installingjava.html. To install, extract the zip download with WinZip (or similar unzip utility) into any directory you please, often J:\ -- ticking off the use folder names option. To run as an application, type: java.exe %JAVA_OPTIONS -ea -jar J:\com\mindprod\isbn\isbn.jar {put any parms here} adjusting as necessary to account for where the jar file is. ---- Installing on a MacIntosh: Use Safari to download source and compiled jar files to run on your own machine as an application or Applet. Safari will automatically unpack the zip into ~/Downloads (version 10.5) [or on the Desktop (version 10.4 and earlier)]. First install a recent Java JDK or JVM. See http://mindprod.com/jgloss/installingjava.html. You may optionally move the download tree to a permanent home. I don't have a MacIntosh, just a PC, so I can't test my Java programs for Mac compatibility. In theory they should work without problems, but in practice that does not always happen. If you have problems please, let me know, preferably with screenshots and complete verbatim error messages. To run as an application, without parameters, just double click the jar file. To run as an application with parameters, in bash shell type: open Terminal.app cd ~/Desktop java.exe -ea -jar com/mindprod/isbn/isbn.jar {put any parms here} adjusting as necessary to account for where the jar file is. ---- Rebuilding: The zip already contains the necessary jar files, so unless you modify the program, there is no need to recompile the source or rebuild the jar. Configure.java basedir="E:/" in rebuild.xml to the drive where your files are. Configure.java your certificate name with environment SET cert=mindprodcert2017rsa Configure.java your certificate password with environment SET jarsignerpassword=sesame Use ANT and rebuild.xml, not build.xml, to recompile and recreate the jar. ---- Use: Helps you proofread, interconvert, validate and tidy ISBN-10 and ISBN-13 (International Standard Book Number) references in HTML or other documentation. It takes the raw ISBN (which may contain dashes, lead, trail or embedded spaces or other miscellaneous junk), validates the check digit and insert the dashes in the proper places using a set of rules described at http://www.isbn.org/standards/home/isbn/international/hyphenation-instructions.asp Just paste the raw ISBN into the top "raw" box, click Tidy then copy the tidied ISBN-10 or ISBN-13 from the bottom boxes. When you run the ISBN Amanuensis as an application, it is even more automatic. You don't need to do any manual pasting and copying. Just click Paste to tidy the current contents of the clipboard. The tidied ISBN-13 replaces the old the raw text clipboard contents. This automatic feature is not available in the Applet version because the Applet sandbox considers it a security risk. Unfortunately the program cannot correctly place the dash between publisher and title for groups other than 0 and 1, i.e ISBN-10s that begin with other than 0 or 1. You can also use the ISBNValidate class in your own programs. The lead 0 is significant. ISBNs always contain 10 digits. Examples of good formatted ISBNs you can experiment with: 0-00-000000-0 0-200-00000-4 0-7000-0000-3 0-85000-000-9 0-900000-00-7 0-9500000-0-0 0-9999999-9-0 1-00-000000-1 1-09-999999-5 1-100-00000-3 1-399-99999-0 1-4000-0000-9 1-4999-9999-2 1-5000-0000-0 1-5499-9999-0 1-55000-000-4 1-86979-999-2 1-869800-00-1 1-9990000-0-5 2-00000000-2 2-95000000-2 3-00000000-3 3-99999999-3 4-00000000-4 4-95000000-4 5-00000000-5 5-95000000-5 7-00000000-7 7-20000000-0 7-95000000-7 80-0000000-8 93-9999999-8 950-000000-8 950-999999-7 9949-99999-5 9950-00000-9 9959-99999-8 9960-00000-1 9989-99999-6 99901-9601-X Examples of bad ISBNs you can experiment with: 6000000006 6950000006 6999999996 9400000006 9419000001 949999999X 992999999X 9930000003 9934000008 9939999992 9940000006 9999900003 9999999999 Examples of good ISBN-13s you can experiment with: 978-0-00-000000-2 978-0-393-06163-5 978-0-940016-73-6 978-1-57675-414-6 978-0-200-00000-0 978-0-618-68000-9 978-0-7000-0000-5 978-0-85000-000-9 978-0-900000-00-3 978-0-940016-73-6 978-0-9500000-0-8 978-0-9999999-9-8 978-1-00-000000-9 978-1-09-999999-4 978-1-100-00000-8 978-1-399-99999-1 978-1-4000-0000-5 978-1-4999-9999-0 978-1-5000-0000-4 978-1-5499-9999-4 978-1-55000-000-9 978-1-86979-999-1 978-1-869800-00-0 978-1-9990000-0-4 978-2-00000000-6 978-2-95000000-2 978-3-00000000-3 978-3-99999999-9 978-4-00000000-0 978-4-95000000-6 978-5-00000000-7 978-5-95000000-3 978-6-00000000-4 978-7-00000000-1 978-7-20000000-9 978-7-95000000-7 978-80-0000000-8 978-93-9999999-7 978-950-000000-0 978-950-999999-2 978-9940-00000-4 978-9949-99999-6 978-9950-00000-1 978-9959-99999-3 978-9960-00000-8 978-9989-99999-4 978-99901-9601-6 978-99955-5555-9 ---- Version History: 1.1 1998-12-28 handle empty or null clipboard better. 1.2 1998-12-31 handle variable first dash position. 1.3 1999-01-07 check for invalid publisher number. correctly handle group codes 80.. 99990. 1.4 2000-06-07 looser publisher number checks on high groups. No longer attempt to place dash between publisher and title for groups other than 0 and 1. 1.5 2001-02-09 check on group number 1.6 2002-02-17 add support for 1-4000-4728-5, new ranges formerly illegal. update list of valid groups. Fix bug that was marking some groups ending in 9 as invalid. 1.7 2005-06-18 add about box, tidy code, use stomp minor change in hyphenation rules. precise list of valid groups, generated from web page. reorganised code in validate class to more cleanly handle lead and trail junk. Now works better when ISBN has surrounding junk. 1.8 2005-06-19 methods no longer preserve enclosing junk. 1.9 2005-12-16 adds Javadoc 2.0 2006-03-05 reformat with IntelliJ and add Javadoc. 2.1 2007-08-24 convert to JDK 1.5. handle ISBN-13 2.2 2008-04-04 add build number to title, tidy code, fix spelling errors. 2.3 2009-03-16 tidy code, rename some methods. 2.4 2011-09-30 now display isbn-10 and isbn-13 both with and without dashes. 2.5 2011-12-03 configurable look and feel -30-