こんにちは,しまさん(@nitkcdadon)です.
2020年発のよいライブラリTOP10がこの前発表されていました.
There are so many amazing Python libraries out there that it's hard to keep track of all of them. That's why we share with you our hand-picked selection of some top libraries. Top 10 Python libraries of 2020 you should know about | Tryolabs Blog – tryolabs.com |
その中でも可能性ある!!って思ったのがDearPyGUIでした.
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies – hoffstadt/DearPyGui hoffstadt/DearPyGui – GitHub |
これでTcl/Tkの呪いから開放されるし,データのインタラクティブな可視化もできていいなと思い使い始めました.
しかもDearPyGUIは日本語もサポートされていたんですね.これはすごい.
ただ,glyph_rangeが正確ではなかったので一部日本語は豆腐でなく「?」で表示されてしまいます.
一応コミュニティには投げたのですがこちらでも正しく日本語&アルファベットを表示できる方法を残しておきます.
環境
- OS : macOS 10.15
- Python : 3.6.8
- DearPyGui : 0.6.121
デフォルトでの日本語指定
DearPyGUIではadd_additional_font
を使用することでフォントの指定もろもろを設定できます.
なので,
add_additional_font("./data/NotoSansCJKjp-Medium.otf", 24, "japanese")
とすることで日本語を表示できるようになります.
ただし,["澤","奈","翔"]
などの漢字は?になります.
解決策
実はDearPyGUIには自身でglyph_rangeを設定できるようになっています.
ですのでそれを活用することで日本語を完全に表示できるようにしてみます.
g_list = [
[0x3041, 0x3096],
[0x30A0, 0x30FF],
[0x3400, 0x4DB5],
[0x4E00, 0x9FCB],
[0xF900, 0xFA6A],
[0x2E80, 0x2FD5],
[0xFF5F, 0xFF9F],
[0x3000, 0x303F],
[0x31F0, 0x31FF],
[0x3220, 0x3243],
[0x3280, 0x337F],
[0xFF01, 0xFF5E],
[0x0000, 0x007F]
]
add_additional_font("./data/NotoSansCJKjp-Medium.otf",
24, custom_glyph_ranges=g_list)
さいごに
今回はDearPyGUIにて日本語を扱う方法を紹介しました.
ライブラリのアップデートが来るまではこの指定方法を使ってDearPyGUIを楽しもうと思います.
参考文献
Unicode一覧表 – www.shurey.com |
Regular Expressions for Japanese Text – Localizing Japan – www.localizingjapan.com |