Re:Show HN: A dot matrix rendered using Braille characters
by timfi on Monday August 16, 2021 @02:23PM
(#28201168)
I made dotmatrix over the weekend and I thought some you might enjoying something like it. The library is written in pure python without any dependencies. As of now I've included some simple drawing functions using Bresenham's line/circle/AA ellipse algorithms and even a function for Bézier curves with arbitrary amounts of control points using De Casteljau's algorithm.
Re:Show HN: A dot matrix rendered using Braille characters
by nomagicbullet on Monday August 16, 2021 @03:49PM
(#28202061)
Nice idea. I'd recommend implementing a demo image on the site. Not everybody will go through the trouble of uploading their own file to test out the project.
Re:Show HN: A dot matrix rendered using Braille characters
by Cyberdog on Monday August 16, 2021 @04:05PM
(#28202249)
Yeah, once upon a time I had an idea of having a drop-down menu which would have four or five sample images you could select from to instantly load them into place. I can't remember why I didn't end up implementing that. But unless a new client drops out of the sky in the next few days, I'm going to have some spare time later this month, so perhaps I'll take your comment as motivation to hack that into place. :)
Re:Show HN: A dot matrix rendered using Braille characters
by timfi on Monday August 16, 2021 @03:53PM
(#28202114)
Very nice! I was thinking of adding something akin to this as well, at least in terms of image dithering. :)
But I'm still torn as the well behaved python programmer in me wants to add pillow as a dependency for that and the not so well behaved one wants *0* dependencies. I think I'll add it as an extra-dep when get around to it.
Re:Show HN: A dot matrix rendered using Braille characters
by Cyberdog on Monday August 16, 2021 @04:07PM
(#28202269)
Yeah, I get it - I made a point of building this with no jQuery or other JS dependencies just for more experience in writing "pure" vanilla JS. But of course one of the ways I can get away with that is that the browser already gives me a huge "standard library" of sorts for doing hard things like reading compressed image formats…
Re:Show HN: A dot matrix rendered using Braille characters
by timfi on Monday August 16, 2021 @04:10PM
(#28202296)
Though python has a massive set of "included batteries", simple images aren't included in those. This makes me very sad sometimes and I usually just fall back to simple BMP files... :/
Re:Show HN: A dot matrix rendered using Braille characters
by timfi on Monday August 16, 2021 @04:14PM
(#28202349)
Very cool! :D
I also thought about adding color support via ANSI escape sequences, but for this project I decided against using them to keep things simple a widely accessible.
Re:Show HN: A dot matrix rendered using Braille characters
by timfi on Monday August 16, 2021 @04:07PM
(#28202272)
Similar characters actually exist in unicode as well irrc.
...On a side note, I think you kickstarted me down the path of abstracting the drawing algorithms and implicit matrix protocol out, just to make it easier to implement this with different character sets. One set for example could be [U+2596 .. U+259F, U+2589], so basically just a 2x2 grid per character.
Re:Show HN: A dot matrix rendered using Braille characters
by _Microft on Monday August 16, 2021 @04:44PM
(#28202708)
Looks cool. Have you had feedback from people using braille displays? Can they understand these images or do they look like garbled text to them because it is using letter symbols without their actual meaning?
Re:Show HN: A dot matrix rendered using Braille characters
by timfi on Monday August 16, 2021 @04:48PM
(#28202762)
Sadly (or luckily?) I don't know anyone who has/uses/has to use a braille display. But I think that if the "reader"/viewer doesn't know from the get go that the following characters aren't text it'll for sure throw them through a loop... :'D
Re:Show HN: A dot matrix rendered using Braille characters
by timfi on Monday August 16, 2021 @02:29PM
(#28201251)
Yeah, I've noticed that a lot of "monospace" fonts don't actually use the same character width for all characters... What makes it even worse is that the "monospace" font used by GitHub is one of those. It screws me over from time to time as I like to format things nicely and use a lot of unicode...
I think I will need to add some images to the readme as well, just make it looks less wonky. :(
Re:Show HN: A dot matrix rendered using Braille characters
by timfi on Monday August 16, 2021 @02:53PM
(#28201502)
Not to get snarky (and certainly not at you, thanks for the info ;) ) but Microsoft owns Windows 10 as well as GitHub. If anyone could add a better default monospace font to the mix it would be them... :D
Re:Show HN: A dot matrix rendered using Braille characters
by ASalazarMX on Monday August 16, 2021 @03:04PM
(#28201601)
Copy-pasted the example into Notepad and it still looks warped. Tried to align them adding three spaces to the middle of each line except the first and last, and most rows still don't align. Changed the font from Consolas to Courier to Courier New, and they still don't align.
Maybe Unicode Braille has issues with Windows monospace fonts? iOS and Linux display them aligned.
Re:Show HN: A dot matrix rendered using Braille characters
by timfi on Monday August 16, 2021 @03:13PM
(#28201697)
It works for me using Pragamata Pro (my trusty default) and some preinstalled ones (at least mac) those being PT Mono, Spot Mono, and Andale Mono. It shouldn't be an issue as long as the "empty braille character", i.e. U+2800, doesn't get kerned to hell and back by the font.
It reminds me of a similar project that’s been around called drawille [0] which is pretty nifty.
[0]: https://github.com/asciimoo/drawille
http://github.com/dheera/python-termgraphics
I'm not a JS expert so there's probably room for improvement/modernization code-wise but I think it works pretty well and I'm happy with the results.
But I'm still torn as the well behaved python programmer in me wants to add pillow as a dependency for that and the not so well behaved one wants *0* dependencies. I think I'll add it as an extra-dep when get around to it.
I use it in: https://github.com/dheera/rossshow
I also thought about adding color support via ANSI escape sequences, but for this project I decided against using them to keep things simple a widely accessible.
https://channel26.uk/teletext-design/
...On a side note, I think you kickstarted me down the path of abstracting the drawing algorithms and implicit matrix protocol out, just to make it easier to implement this with different character sets. One set for example could be [U+2596 .. U+259F, U+2589], so basically just a 2x2 grid per character.
Please note: I neither can read or braille nor have I have seen a braille display so take what I say with a grain of salt.
I think I will need to add some images to the readme as well, just make it looks less wonky. :(
I don't know if there are better monospace ones builtin on windows 10 that they could add to the stack.
Maybe Unicode Braille has issues with Windows monospace fonts? iOS and Linux display them aligned.