6 ms·
Libre Barcode Project
- 1bpp 3mo agoIs anyone willing to sacrifice their sanity for the sake of implementing a QR renderer as TTF hinting code?
- Induane 3mo ago[flagged]
- 1bpp 3mo ago[flagged]
- sdfsdfsd3443f 3mo agoYou all know this is the answer. In fact you will do this and then post it on Show HN proudly.
- dspillett 3mo agoThe downvotes aren't saying the comment is wrong (though it might be), they are saying “if it is that easy, you ask Claude”. The parent comment seemed to be specifically asking if a person would work on it, not specifying what tools might be used in that work.
- Induane 3mo agoYou're totally right. I was being facetious; it just seems to be what everyone is saying now and I was playing into that stereotype a bit. That isn't to say Claude couldn't do it though.
- iguessthislldo 3mo agoI love seeing nonsense like that. How that work graphically though? Just keep adding to a same QR code that keeps getting denser as more text is added? I guess it doesn't have to practical though :)
- gus_massa 3mo agoSomeone implemented the Bad Apple animation inside a font https://blog.erk.dev/posts/anifont/ https://blog.erk.dev/posts/anifont/ ( https://news.ycombinator.com/item?id=373170550 https://news.ycombinator.com/item?id=373170550 | 177 points | Aug 2023 | 62 comments )
- ValdikSS 3mo ago- https://fuglede.github.io/llama.ttf/ - https://github.com/bjia56/translate.ttf - https://github.com/hsfzxjy/handwriter.ttf Harfbuzz now has WASM interpreter for a shaper. You can make pretty much arbitrary programs in fonts now. https://www.youtube.com/watch?v=Ms1Drb9Vw9M https://www.youtube.com/watch?v=Ms1Drb9Vw9M
- deleted 3mo ago[deleted]
- foodevl 3mo agoYes. See https://news.ycombinator.com/item?id=48703200 https://news.ycombinator.com/item?id=48703200
- dmitrygr 3mo agoThis is a perversion of the most sickening nature. Nicely done!
- breakingcups 3mo agoI'm surprised at this reaction, this has been standard practice for many years in various companies where I worked.
- dfox 3mo agoThe fact that this is standard practice does not mean that it is not perverse. It kind of works sanely for plain Code39 (and even then you will see effects of doing that in weird places, like VAG stamping human readable VIN on a chassis, including the Code39 start/stop symbols), once you start using barcode fonts for Code128-derived symbologies (ie. UPC/EAN) the whole thing becomes a pointless exercise.
- Dwedit 3mo agoI mean there was already the Bad Apple font (keep adding another character to your text and you get the next video frame)
- utopiah 3mo agoDamn, yes please. Another cool font, but less original, I stumbled upon recently is Marelle https://marelle.forge.apps.education.fr/ https://marelle.forge.apps.education.fr/ for cursive.
- endre 3mo agothis is genius
- albert_e 3mo ago> https://marelle.forge.apps.education.fr/ https://marelle.forge.apps.education.fr/ This website is in French so I was unable tounderstand the text and the website is very resistant to automatic translation by Google Translate >https://marelle-forge-apps-education-fr.translate.goog/?_x_tr_sl=fr&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp https://marelle-forge-apps-education-fr.translate.goog/?_x_t... What gives?
- utopiah 3mo agoNo problem translating it with Firefox : " Marelle is a free cursive police force for teaching writing in elementary school. Introduction This project is supported by the Digital Directorate for Education of the Ministry of National Education, and developed in the Forge of Digital Educational Commons. The Marelle police is designed specifically for teaching cursive writing in elementary school, it was developed by a team of teachers and designers specialized in writing systems. Teaching Cursive Writing Structure and sequence of letters, rhythm and proportion, contextual variants: the Marelle font was thought around specific criteria to offer a quality model to teachers and students. Particular attention has been paid to the trace of numbers, capital letters and punctuation. A complete professional tool The Marelle police offers 3 types of variants: uppercase sticks or cursive with or without lineage Seyes height of ascendants and descendants These variants can be combined to best meet the needs of teachers and students." etc
- jurgemaister 3mo ago> cursive police force
- endre 3mo ago[flagged]
- nemoniac 3mo agoASCII only?
- Terr_ 3mo agoMore or less, AFAICT the underlying barcode standards don't support Unicode, if that's what you mean. It looks like Code 128 could potentially handle some ISO-8859-1 accented latin characters, but I'm not sure how to test it.
- ale42 3mo agoCode 128 supports some ISO-8859-1 indeed, but it requires switching between encodings (there are 3 of them), and couldn't work with 128B (I guess the one used by the font, as it supports ASCII). See the table on Wikipedia: https://en.wikipedia.org/wiki/Code_128 https://en.wikipedia.org/wiki/Code_128
- trashb 3mo agoactually it seems they support 128A 128B and 128C with the correct encoder. To use these fonts you have to use an encoder like the one below. It is an optimizing encoder, that means, it produces the shortest barcode that can encode the input. For this the encoder, if necessary or shorter, switches between the three available Code Sets (list from Wikipedia): https://graphicore.github.io/librebarcode/documentation/code128 https://graphicore.github.io/librebarcode/documentation/code...
- matsemann 3mo agoEven with plain ASCII we sometime struggle with the various scanners, as they emulate keyboards. So for instance using : in the barcode as a separator of values becomes wonky if the OS has a different input language than expected.
- alex_suzuki 3mo agoThis would be more interesting if you wouldn’t need to calculate checksums yourself, and could just write the barcode value. Good luck doing that with something like Reed-Solomon (QR, Data Matrix, etc.) or the shenanigans they’re doing with GS1 DataBar.
- ahlCVA 3mo agoBarcode fonts have been around for ages. But what's cute about this one is that it can calculate the EAN13 checksum on its own.
- alex_suzuki 3mo agoIt can’t, at least for Code 128? There’s a text field that you enter the text into, and then the start/stop/checksum characters are computed.
- ahlCVA 3mo agoIt seems like it doesn't do this for Code 128 (possibly because it is variable-width?). It definitely works with EAN13 though - I tried it locally using only the TTF file.
- alex_suzuki 3mo agoOh, interesting! I tried it in Word on macOS but didn't get it to work. But it works in the browser (question mark = calculates check digit). It uses this, which i have no idea what it is :-) https://learn.microsoft.com/en-us/typography/opentype/spec/features_ae#tag-calt https://learn.microsoft.com/en-us/typography/opentype/spec/f...
- dfox 3mo agoDo not do this unless you do not have any other choice. Preferrably use whatever native barcode support of the printer involved, if it does not have that, just generate the barcode as vector image or bitmap with a resolution that is a integer fraction of the printers resolution. Generating correct Code128 as a SVG is about the same amount of work as generating the correct input for some sort of barcode font (the hard part is determining the switches between character sets, not generating bars from bytes).
- alex_suzuki 3mo agoShameless plug for my web-based Zint frontend: https://barcode.new https://barcode.new (in-browser WASM) I wrote it specifically because most online barcode generators don’t support vector output or suck in some other way: ads, signup necessary, code payload exposed to server-side processing etc.
- pwdisswordfishs 3mo agoAside from obfuscating the source code to sell licenses, how does this benefit from WASM? Barcodes have been generated for decades on low-resource embedded devices. Even what would have been a modest-to-low-end machine 25 years ago would have no problem handling the compute needed for this job. On this end, it just looks like the user has to deal with the penalty of dealing with 1 MB of resources when hitting the main page.
- alex_suzuki 3mo agoThe benefit of WASM in this case is that you can wrap a mature library written in C/C++ (in this case, Zint), and run it in a runtime that supports WASM, e.g. the browser. There's plenty of people who occasionally need to create barcodes, and not in some industrial, automated way, and a browser is just an easy way to accomplish that. Yes, you have 1MB loaded when you load the page, but hopefully that will be served from a cache.
- nolroz 3mo ago
- deleted 3mo ago[deleted]
- ciupicri 3mo agoIt's not clear to me how can I put FNC3 and the beginning of the Code 128 bar code.
- joewhale 3mo agofyi code 39 barcodes are outdated because of the lack of check sums and leads to false positives.
- infogulch 3mo agoNeat! Barcodes are much more complex that I knew before looking into it. I used JsBarcode [1] to create a special barcode that reprograms a cheap barcode scanner we got on Amazon to be able to scan both UPS and FedEx tracking numbers. It is published on CodePen [2]. [1]: https://github.com/lindell/JsBarcode https://github.com/lindell/JsBarcode [2]: https://codepen.io/infogulch/pen/yyLJdrP https://codepen.io/infogulch/pen/yyLJdrP
- muhammadusman 3mo agojust curious: are barcodes better in anyway compared to a QR code?
- wps 3mo agoI believe they are much faster to scan, as you don’t need to identify the corners.
- dimatura 3mo agoThey are simpler and can be read by more devices, especially legacy devices that are still pretty widely deployed. Other than that, not much to say in their favor. They have lower data density compared to 2D codes such as QR or datamatrix. Many linear barcode symbologies have weak or nonexistent error correction capability. But often you don't need that extra data, and the cost of changing processes and equipment to upgrade to a new barcode format is seen as not worth it.
- ChrisMarshallNY 3mo agoVery nice. Now, do it with QR codes...