LoginSignup
3
4

More than 3 years have passed since last update.

jupyter-themesの fontを見比べてみて

Last updated at Posted at 2020-04-11

背景

jupyter-themesで設定できるfontがたくさんあることをしって、やはりフォントもこだわならなくては! とおもったのがきっかけ

それではどうぞ

スクリーンショット 2020-04-11 15.16.37.png
スクリーンショット 2020-04-11 15.16.53.png
スクリーンショット 2020-04-11 15.17.12.png
スクリーンショット 2020-04-11 15.17.33.png
スクリーンショット 2020-04-11 15.17.57.png
スクリーンショット 2020-04-11 15.18.17.png

スクリーンショット 2020-04-11 15.18.33.png
スクリーンショット 2020-04-11 15.18.54.png
スクリーンショット 2020-04-11 15.22.20.png
スクリーンショット 2020-04-11 15.23.13.png
スクリーンショット 2020-04-11 15.23.43.png
スクリーンショット 2020-04-11 15.24.11.png
スクリーンショット 2020-04-11 15.24.43.png
スクリーンショット 2020-04-11 15.25.00.png
スクリーンショット 2020-04-11 15.25.19.png
スクリーンショット 2020-04-11 15.25.37.png

スクリーンショット 2020-04-11 15.25.53.png

スクリーンショット 2020-04-11 15.26.08.png

スクリーンショット 2020-04-11 15.26.23.png

スクリーンショット 2020-04-11 15.26.39.png
スクリーンショット 2020-04-11 15.26.55.png

スクリーンショット 2020-04-11 15.27.10.png

スクリーンショット 2020-04-11 15.27.25.png

スクリーンショット 2020-04-11 15.27.51.png

スクリーンショット 2020-04-11 15.28.05.png

スクリーンショット 2020-04-11 15.28.18.png
スクリーンショット 2020-04-11 15.28.31.png

結論

  • 避けるべきフォント:  
    • jupyterのデフォルトフォント: 等幅フォントじゃない
    • saxMono: 1と小文字Lの区別、0と大文字Oの区別がつかない
    • Liberation Mono: 0と大文字Oの区別がつかない
    • Aurulent Sans Mono: 0と大文字Oの区別がつかない
  • "避けるべきフォント"以外であれば、あとはお好み。 lと1の区別のつきやすさ+斜線0+officeよりやや強めの太さ、ということでMesloを選択。

備考

ぽちぽちしながらテーマを変更できるようにつくったコード

import subprocess

font_raw = """anka  Anka/Coder
anonymous   Anonymous Pro
aurulent    Aurulent Sans Mono
bitstream   Bitstream Vera Sans Mono
bpmono  BPmono
code    Code New Roman
consolamono Consolamono
cousine Cousine
dejavu  DejaVu Sans Mono
droidmono   Droid Sans Mono
fira    Fira Mono
firacode    Fira Code
generic Generic Mono
hack    Hack
hasklig Hasklig
inconsolata Inconsolata-g
inputmono   Input Mono
iosevka Iosevka
liberation  Liberation Mono
meslo   Meslo
office  Office Code Pro
oxygen  Oxygen Mono
roboto  Roboto Mono
saxmono saxMono
source  Source Code Pro
sourcemed   Source Code Pro Medium
ptmono  PT Mono
ubuntu  Ubuntu Mono"""

font_list = []
for i in font_raw.split('\n'):
    f_arg     = i.split('\t')[0]
    font_name = i.split('\t')[1]
    font_list.append((f_arg,font_name))

def generateCmd():
    base_cmd = 'jt -t gruvboxd -T -N -ofs 12 -f %(font_name)s'
    for font in font_list:
        print(font[1])
        yield base_cmd % {'font_name':font[0]}, font[1]

changeTheme= generateCmd()
cmd, font_name = next(changeTheme)
print(cmd)
res = subprocess.run(cmd,shell =True)

user_acc = { 'user': 'l1l1_aa_0O0O_2S2S', 'password': 'abcdefghijklmnopqrstuvwxyz0123456789', 'database': 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'}
print('font_name:'+font_name)
print('cmd:'+cmd)
for i in user_acc:
    print(i.ljust(15,' ')+user_acc[i])
3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4