Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>When trying to line up ASCII text with Chinese in fixed-width font, there is a set of full width versions of the printable ASCII characters. Below I made a translation table of ASCII to full width version:</p> <pre><code># coding: utf8 # full width versions (SPACE is non-contiguous with ! through ~) SPACE = '\N{IDEOGRAPHIC SPACE}' EXCLA = '\N{FULLWIDTH EXCLAMATION MARK}' TILDE = '\N{FULLWIDTH TILDE}' # strings of ASCII and full-width characters (same order) west = ''.join(chr(i) for i in range(ord(' '),ord('~'))) east = SPACE + ''.join(chr(i) for i in range(ord(EXCLA),ord(TILDE))) # build the translation table full = str.maketrans(west,east) data = '''\ 蝴蝶(A song) 心之城(Another song) 支持你的爱人(Yet another song) 根生的种子 鸽子歌(Cucurrucucu palo whatever) 林地之间 蓝光 在你眼里 肖邦离别曲 西行(魔戒王者再临主题曲)(Into something) 深陷爱河 钟爱大地 时光流逝 卡农 舒伯特小夜曲(SERENADE) 甜蜜的摇篮曲(Sweet Lullaby) ''' # Replace the ASCII characters with full width, and create a song list. data = data.translate(full).rstrip().split('\n') # translate each printable line. print(' ----------Songs-----------'.translate(full)) for i,song in enumerate(data): line = '|{:4}: {:20.20}|'.format(i+1,song) print(line.translate(full)) print(' --------------------------'.translate(full)) </code></pre> <h3>Output</h3> <pre><code> ----------Songs----------- |   1: 蝴蝶(A song)          | |   2: 心之城(Another song)   | |   3: 支持你的爱人(Yet another s| |   4: 根生的种子               | |   5: 鸽子歌(Cucurrucucu palo| |   6: 林地之间                | |   7: 蓝光                  | |   8: 在你眼里                | |   9: 肖邦离别曲               | |  10: 西行(魔戒王者再临主题曲)(Into s| |  11: 深陷爱河                | |  12: 钟爱大地                | |  13: 时光流逝                | |  14: 卡农                  | |  15: 舒伯特小夜曲(SERENADE)    | |  16: 甜蜜的摇篮曲(Sweet Lullaby|  -------------------------- </code></pre> <p>It's not overly pretty, but it lines up.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload