2022-12-03
- autoracex の logo 作りトレース, NervesMOTD.print/1 の使い方
defmodule AutoRaceEx do
def logo() do
"""
██ ██ ██ ████████ ████ ███████ ██ █████ ████████ ███ ███
████ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ ██ ██ ██
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ██ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ██ ████
██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ██ ██████ ██
████████ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ██ ████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ██ ███ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ██ ██████ ██ ████ ██ ██ ██ ██ █████ ████████ ██ ██
"""
|> String.split("\n")
|> Enum.map(fn line -> "\e[38;5;24m " <> line end)
|> Enum.join("\n")
end
end
この作業の中で vim の set ambiwidth=double
で上記の文字を表現している\u2588
表記が崩れることが分かった。
refs. Unicode ブロック要素
https://twitter.com/mattn_jp/status/1526718582264320000 にその理由が書いてあり、以下を .vimrc に書いて対応できた。
set ambiwidth=single
call minpac#add('rbtnn/vim-ambiwidth') "set ambiwidth=single でも※の後の文字表示が※とかぶるのを防ぐ