在我的应用程序中,我需要将我的iPhone应用程序中的ASCII艺术发布到facebook墙上的帖子中。但我面临的问题是facebook字体(Lucida Console)改变了我的ASCII艺术的格式。我在Courier New中制作了我的ASCII艺术。
可以做些什么?
有没有办法在Facebook上发布我的ASCII艺术而不必重新格式化整个事情?
请帮助和建议。
由于
答案 0 :(得分:4)
Courier是monospaced font。这意味着,每个字母都有相同的空间。这就是为什么它很容易用于ASCII艺术和流行的编码 - 因为相同lentgh的词总是在同一个位置。
来自facebook css:
font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;
Lucida Grande是propotional font。即,我使用的空间比m少得多。不同行中的单词不太匹配。
修改强>
看看this facebook group。用户通过
.
等宽
♥♥'''''''''''''''♥♥
♥♥'''''''''''''''♥♥
propotional
♥♥ '' '' '' '' '' '' '''♥♥
答案 1 :(得分:0)
我想出了一个Python脚本,到目前为止只用简单的例子进行了测试。
#!/usr/bin/python
'''
fbformat -- format ASCII for Facebook
'''
import sys, os
PRINTABLE = [' '] + map(chr, range(ord('!'), ord('~') + 1))
FB_ABLE = [u'\u3000'] + map(unichr, range(0xff01, 0xff5f))
TO_FB = dict(zip(PRINTABLE, FB_ABLE))
FROM_FB = dict(zip(FB_ABLE, PRINTABLE))
COMMAND = os.path.splitext(os.path.basename(sys.argv[0]))[0]
TEXT = sys.stdin.read().decode('utf8')
TO = ''.join([TO_FB.get(C, C) for C in TEXT])
FROM = ''.join([FROM_FB.get(C, C) for C in TEXT])
sys.stdout.write([TO, FROM][COMMAND == 'fbunformat'].encode('utf8'))
将其符号链接为~/home/bin/fbformat
和~/home/bin/fbunformat
,并确保~/home/bin
中包含PATH
。
输入以下内容作为test.txt:
YES!
\o/
|
/ \
然后:
jcomeau@aspire:~/rentacoder/gdavis$ fbformat < /tmp/test.txt
YES!
\o/
|
/ \
jcomeau@aspire:~/rentacoder/gdavis$ fbformat < /tmp/test.txt | fbunformat
YES!
\o/
|
/ \
资源:http://www.cs.tut.fi/~jkorpela/chars/spaces.html和https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms