figletadalah utilitas yang mengubah teks biasa menjadi representasi ascii-art untuk digunakan dalam spanduk dan sejenisnya. Sebagai contoh:
$ figlet "CODE GOLF"
____ ___ ____ _____ ____ ___ _ _____
/ ___/ _ \| _ \| ____| / ___|/ _ \| | | ___|
| | | | | | | | | _| | | _| | | | | | |_
| |__| |_| | |_| | |___ | |_| | |_| | |___| _|
\____\___/|____/|_____| \____|\___/|_____|_|
$
Tulis program atau fungsi yang mengambil output ascii-art dari figletdan mengembalikannya ke teks biasa aslinya.
Mungkin bermanfaat bagi Anda untuk menginstal figlet. Saya memiliki versi 2.2.5 yang Anda dapatkan jika sudo apt-get install figletmenggunakan Ubuntu 14.04. Figlet ini sebenarnya memiliki beberapa "font". Untuk keperluan konteks ini, kita hanya akan berurusan dengan standardfont default .
Teks input tidak lebih dari 80 karakter, dan dihasilkan dari teks biasa yang hanya berisi karakter huruf besar dan spasi.
Program Anda tidak boleh memanggil figletatau kode sumbernya dengan cara apa pun.
Contoh
Memasukkan:
_ ____ ____ ____ _____ _____ ____ _ _ ___
/ \ | __ ) / ___| _ \| ____| ___/ ___| | | |_ _|
/ _ \ | _ \| | | | | | _| | |_ | | _| |_| || |
/ ___ \| |_) | |___| |_| | |___| _|| |_| | _ || |
/_/ \_\____/ \____|____/|_____|_| \____|_| |_|___|
_ _ ___ __ __ _ _ ___ ____ ___ ____
| | |/ / | | \/ | \ | |/ _ \| _ \ / _ \| _ \
_ | | ' /| | | |\/| | \| | | | | |_) | | | | |_) |
| |_| | . \| |___| | | | |\ | |_| | __/| |_| | _ <
\___/|_|\_\_____|_| |_|_| \_|\___/|_| \__\_\_| \_\
____ _____ _ ___ ____ ____ ____ _______
/ ___|_ _| | | \ \ / /\ \ / /\ \/ /\ \ / /__ /
\___ \ | | | | | |\ \ / / \ \ /\ / / \ / \ V / / /
___) || | | |_| | \ V / \ V V / / \ | | / /_
|____/ |_| \___/ \_/ \_/\_/ /_/\_\ |_| /____|
Keluaran:
ABCDEFGHI
JKLMNOPQR
STUVWXYZ
Memasukkan:
____ _____ _ ____ __ ___ ____ ____
/ ___|_ _|/ \ | _ \ \ \ / / \ | _ \/ ___|
\___ \ | | / _ \ | |_) | \ \ /\ / / _ \ | |_) \___ \
___) || |/ ___ \| _ < \ V V / ___ \| _ < ___) |
|____/ |_/_/ \_\_| \_\ \_/\_/_/ \_\_| \_\____/
Keluaran:
STAR WARS
Perhatikan edit sebelumnya dari pertanyaan ini yang memungkinkan input yang berisi huruf besar dan kecil ditambah angka. Itu menunjukkan bahwa ini menyebabkan beberapa titik ambiguitas dengan kombinasi karakter tertentu yang berdekatan. Menjadi jelas bahwa saya perlu menemukan satu set karakter tanpa tabrakan sehingga kontes dapat dilakukan. Pada awalnya saya mencoba semua huruf kecil plus angka dengan shell-liner ini:
for t in {0..9}{a..z} {a..z}{a..z} {a..z}{0..9} {0..9}{0..9} ; do figlet $t | tr '\n' ':'; echo ; done | sort | uniq -d | tr ':' '\n'
Ini menghasilkan { j1, jl} dan { i1, il} sebagai pasangan yang ambigu. Jadi alih-alih dengan semua huruf besar (seperti yang disarankan oleh @AlexA.), Tidak ada pasangan yang ambigu:
for t in {A-Z} ; do figlet $t | tr '\n' ':'; echo ; done | sort | uniq -d | tr ':' '\n'
git://git.debian.org/git/collab-maint/figlet.git(unduh dengan git clone).
1dan ltidak identik, tetapi V1dan Vlsedang.