![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
A long time ago (May 2003), adcott had a barcode maker that would generate barcodes based on a LiveJournal user's username and internal ID. (That barcode maker no longer exists.)
As part of my migration to Dreamwidth, I figured I should update the barcode icon that I had made based on that image to refer to Dreamwidth: the first four digits are now based on the ASCII codes of “DW” rather than those of “LJ”, and the remainder come from my Dreamwidth user ID rather than my LiveJournal one.
The barcode looks different since I don't have the font the original used. But the style I'm using has the advantage that the barcode fits into a LJ/DW icon; the original had the first and last plaintext digits outside the bars, making it wider than 100 pixels unless you chopped them off. (A disadvantage of the font is that wide letters such as 'm' or 'w' will be right next to the next letter, without a space in between.)
And, like the original, it should still be a valid UPC or EAN-13 barcode (the check-digit is calculated rather than being fixed).
Limitations: There’s only enough room for 14 letters at the top (actually, one pixel less than you'd need for 14), so if your username is longer than that, it'll get chopped off at the front and/or back.
While it's theoretically possible to embed the output of the barcode generator into a page with an “img” tag (it’s a plain 2-colour B/W 97×72 PNG image), I’d like to ask that you not hotlink the images like that, to spare my bandwidth. Instead, save them to your own webspace (or upload them as a Dreamwidth icon).
Uppercase/lowercase is ignored; however, images are cached by default and the generated image will use the capitalisation your first used. So if you request “ExampleUserName”, it’ll show you an image with that capitalisation even if you later ask for the barcode for “exampleusername” or even “exaMplEusERNamE”.
If it can’t find the username, then it’ll give you a barcode with all zeroes for the user ID number.
Since Dreamwidth communities URLs behave like journal ones, you can even create barcodes for them -- e.g.
dw_nifty.
If you use the output of my barcode generator, I'd appreciate attribution: something like “created with pne’s barcode generator” would be fine. (Just out of courtesy and to make people aware of the tool; I imagine the output is public domain since there's basically no creativity involved that I could claim copyright over.) You can also add the URL: http://pne.mizinamo.org/dwbarcode. (Which I hope will remain stable, though I can’t promise it.)
Suggestions are welcome. (For example, I wonder whether black-on-white or black-on-transparent would be better? It's currently black-on-white, with a 1px white border.)