1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

KivyでOS付属の日本語フォントの指定方法

Last updated at Posted at 2022-01-02

マルチプラットフォーム対応のアプリを開発するときにPythonのKivyを選択肢として調査しているときに、WindwosなどOS付属の日本語ってどうやって対応するの?って段階で挫折しないためのメモ

参考にした場所

マルチプラットフォーム対応のアプリを開発で比較調査

Kivyで日本語を使う時

pygame

日本語対応方向性

OS付属のsystem fontが使えれば、新規のフォントファイルを内包しなくても済むはず

やり方

動作環境によてOS付属のフォントから日本語の使えるフォントを指定する。フォントファイルの場所を見つけるのが面倒なのでpygameライブラリから機能を拝借する。

準備

Windows10 64bit Python 3.10.x へのKivy 2.x開発環境の構築手順

pip install pygame

実装

import pygame
import platform
from kivy.core.text import LabelBase, DEFAULT_FONT

_platform = platform.system()
if _platform == 'Windows':
 LabelBase.register(DEFAULT_FONT, pygame.font.match_font('yugothic'))

これで、システムにあらかじめ入ってる日本語が使えるフォントを簡単に固定できるので、フォントを同梱しなくってもマルチプラットフォームの日本語対応が簡単にできますよ。もっと凝るならplatformでOSの版数などを確認してさらに分岐

システムフォントの一覧を調査するには

import pygame
print(pygame.font.get_fonts())

自分で使うグリフ(Glyph)や領域が入ったフォントの名前さえ調べとけばマルチプラットフォームのアプリ開発に簡単です。

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?