Rysowanie w konsoli

Mój T-rex będzie wymagał jakiejś prezentacji. Konsola nie jest najlepszym środowiskiem dla artystów. Od początku zakładałem że mój projekt nie będzie śliczny i że jedyne na czym będę mógł polegać to znaki tekstowe. Mimo to obiecałem sobie że jeśli chodzi o wygląd zrobię co w mojej mocy żeby przy najmniej nie był odpychający.

Wystarczyła dosłownie chwila aby znaleźć rozwiązanie mojego problemu. Unikod pod znakami z przedziału 2800- 28ff zawiera symbole Braille’a. Możliwości są większe niż się spodziewałem (choć oczywiście cudów nie ma). Przywitajcie się grzecznie:

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣲⣶⣶⣦
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣟⣛⠛
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣧⡀⢀⣤⣾⣿⣿⢤
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⡟
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⡿⠻⡏
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠂ ⠓

Jak znaleźć odpowiedni numer znaku Braille’a Unikodu?

Każda kropka posiada swoją wartość bitową. Są one uszeregowane w następujący sposób:

0 3
1 4
2 5
6 7

Wystarczy zsumować potęgi dwójki o wykładnikach z miejsc w których jest kropka, zamienić na postać szesnastkową oraz dodać przedrostek 28. Np żeby otrzymać ⢇ wystarczy wykonać takie działanie:

2^0 + 2^1 + 2^2 + 2^7 = 1 + 2 + 4 + 128 = 135 (10)= 87 (16) => 2887

Żeby umieścić unikod w vimie na podstawie kodu, w insert mode trzeba skorzystać ze skrótu <c-v>u<kod> gdzie <kod> jest kodem znaku, np. <c-v>u2887

Czy można prościej?

Oczywiście. Na przykład można kopiować i wklejać gotowe znaki stąd. Można również zastosować jakiś prosty konwerter, na przykład ten. Przecież po co sobie na siłę utrudniać życie.