
Drawille: Pixel graphics in terminal with Unicode braille characters - Ivoah
https://github.com/asciimoo/drawille
======
chmod775
Did anyone even stop to appreciate the irony of using a thing created for
blind people to make something that will only ever be useful to people with
sight, if at all?

~~~
Sir_Cmpwn
Why couldn't the blind appreciate this software?

~~~
Raphmedia
Because blind people can't see animations made with dots even if those dots
were originally meant for the blinds.

Even if you were to print those on a braille display, it would be meaningless
letters over and over.

~~~
Sir_Cmpwn
I reject this idea that a blind person is too stupid to recognize that the
dots aren't representing letters when they use this software, and instead
appricate it as a kind of art.

~~~
Raphmedia
The braille displays you typically encounter will only display one line of
braille at a time.

You are telling me that a blind person will be able to remember the entire
line of gibberish as the geometric shape gets "printed" line by line and then
remember those at 30 frames per seconds?

Come on, it's not about being too stupid to understand. It's about this
technology having nothing at all to do with the blind except for hijacking
useful Unicode characters.

------
fenwick67
On a similar note, I wrote a library for drawing (24-bit) color raster
graphics in the terminal if anyone's interested:

[https://github.com/fenwick67/term-px](https://github.com/fenwick67/term-px)

Demo / image utility here:

[https://fenwick.pizza/term-px/](https://fenwick.pizza/term-px/)

~~~
gciruelos
i wrote something very similar, but in c++

[https://github.com/gciruelos/seurat](https://github.com/gciruelos/seurat)

------
msla
I can't wait until people rediscover Sixels and get actual graphics in the
terminal in a network-transparent fashion. Modern terminal emulators support
it, it just isn't widely known.

~~~
new299
Really, is Sixels support that common now? Do you have a supported Linux
terminal that you recommend for it?

~~~
msla
xterm supports Sixels, and I'd be surprised if it were the only one.

And this library enables things like video and X11 using Sixel, plus it has a
list of terminals which support Sixels in the README:
[https://github.com/saitoha/libsixel](https://github.com/saitoha/libsixel)

------
NelsonMinar
I guess Tektronix graphics isn't supported by anything anymore?
[http://physics.oregonstate.edu/~landaur/nacphy/coping-
with-u...](http://physics.oregonstate.edu/~landaur/nacphy/coping-with-
unix/node140.html)

~~~
makecheck
MacTerm implements TEK 4014 and 4105 graphics (MacTerm is my project). Support
for TEK graphics does seem rare though; aside from "xterm" and "gnuplot", I
can’t think of anything else that uses those commands.

Drawille works in MacTerm too; I ran some of the example programs just now.
Neat, especially the rotating cube. :)

------
bwasti
[https://news.ycombinator.com/item?id=15549366](https://news.ycombinator.com/item?id=15549366)

------
flotillo
Quite reminiscent of the Teletext 'alpha mosaic' characters, which were 2x3
block graphics characters.

It could be used to make pages like e.g.
[https://al.robotfuzz.com/~al/teletext/c4/1995-08-26-0046.0/4...](https://al.robotfuzz.com/~al/teletext/c4/1995-08-26-0046.0/496.html)

~~~
ocrimgproc
Any program that can output this?

~~~
flotillo
Any BBC Micro emulator would do the trick.

------
j_s
My previous attempt at a pithy complaint pointing out the license of this
project was flagged, so I will attempt to provide a bit more value:

This is a great idea and would be nice even just as an art project but
unfortunately I can't do much personally useful with it.

The choice is 100% up to the author and I respect how they avoid losing
control of their IP. It is interesting to see the uptake and I wonder how many
project using this tool are in violation of the license.

[https://www.gnu.org/licenses/why-not-
lgpl.html](https://www.gnu.org/licenses/why-not-lgpl.html)

------
mmatants
This is a really neat looking project (and the GH readme references the
original HN discussion). For folks who are generally into TTY UIs and
dashboards, I also want to point out the Blessed terminal rendering lib and
its ecosystem (which even includes a React bridge!):

    
    
      - https://github.com/chjj/blessed
      - https://github.com/yaronn/blessed-contrib
      - https://github.com/Yomguithereal/react-blessed
    

(edited for syntax and also to clarify I am not affiliated with the above,
just a fan)

------
to3m
I think the block characters are easier to read, but with a 4x4 grid the
resolution is lower:
[https://en.wikipedia.org/wiki/Block_Elements](https://en.wikipedia.org/wiki/Block_Elements)

The resulting pixel resolution is a bit screwy, especially if you use a tall,
thin font like the one I tend to. Too many pixels horizontally, too few
vertically. The upper block/lower block characters might be better in terms of
aspect ratio, but then the overall resolution is made even worse...

The 2x3 Braille grid makes a lot more sense.

~~~
helb
There are also 'sixels' (essentially 6x1), but terminal support is… not great.
[https://en.wikipedia.org/wiki/Sixel](https://en.wikipedia.org/wiki/Sixel)

Some cool images:
[https://github.com/saitoha/libsixel](https://github.com/saitoha/libsixel) &
[https://github.com/saitoha/PySixel](https://github.com/saitoha/PySixel)

~~~
nothrabannosir
This is fantastic!! This should be supported in every terminal. What a dream.

------
grondilu
The rotating cube is especially cute. I challenge anyone to now write a clone
on the classic game Elite with this.

------
devereaux
Awesome!

I wonder if unicode characters could be used on top of libcaca for an even
more accurate rendering.

~~~
XaspR8d
I've dreamed about doing an automated "ASCII"-art converter that utilizes all
of Unicode. You could accomplish some pretty crazy line art if you put your
mind to it, but the analysis would be super challenging.

Also you'd either need a monospace Unicode font (which I don't imagine has
anywhere near 100% glyph support) or incorporate spacing and kerning rules...

~~~
devereaux
I would think about feeding rendered unicode characters to train a visual
algorithm about which character may match, then "on the go" do a bitmap
comparison to select the best one for the given case.

The first part could be something like shapecatcher.com where you select the
top N plausible candidates, then on the final part you select the best one for
the case at hand. (well at least that's how I would try to implement that
first)

Anyway yes, it would be great!!

