在現代化的軟件開發中,字體的應用逐漸受到了人們的重視。不同的字體既可以增強程序的美觀度,又能夠提高用戶的體驗感。Python 對於字體的使用也日益成熟和豐富。本篇文章將會介紹基於Python的16種不同的字體展示方法,幫助Python開發者更好地使用字體,並提升用戶的體驗度。
一、Python的字體介紹
在Python中,字體主要是通過第三方庫`matplotlib`和`pyplot`實現的。其中,`matplotlib` 專門用於圖表繪製,`pyplot` 則提供了眾多輔助繪圖的函數和工具集。通過這兩個包,Python 的字體應用變得非常簡單。
二、16種不同字體的使用
Python中有16種字體,每種字體又有不同的變體。字體的選擇有很大的個人偏好差異,所以我們介紹全部的字體,開發者可以自行選擇。
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(10, 8))
fonts = ['Humor Sans', 'Comic Sans MS', 'Algerian', 'Bradley Hand ITC',
'Gigi', 'Impact', 'Forte', 'Eras Bold ITC',
'Jokerman', 'Mistral', 'Snap ITC', 'Stencil', 'Wide Latin', 'Vivaldi', 'Brush Script MT', 'Freestyle Script']
y = len(fonts) // 4 if len(fonts) % 4 == 0 else len(fonts) // 4 + 1
for i, font in enumerate(fonts):
ax = fig.add_subplot(y, 4, i + 1)
ax.set_title(font, fontname=font)
ax.text(0.5, 0.5, "字體展示效果", ha="center", va="center", transform=ax.transAxes, fontname=font, fontsize=20)
plt.show()
三、從字體文件中讀取字體
`matplotlib`庫使用`FontProperties`函數來讀取字體。對於字體文件的加載,可以通過Windows字體庫或者手動加載通過修改 matplotlibrc 中的路徑。開發者也可以使用系統內的字體。
import matplotlib.font_manager as fm
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(10, 8))
font_path = 'C:/Windows/Fonts/simsun.ttc' # 修改為自己路徑
fonts = ['STSong', 'STKaiti', 'STFangsong', 'STZhongsong'] # simsun常用宋體
y = len(fonts) // 4 if len(fonts) % 4 == 0 else len(fonts) // 4 + 1
for i, font in enumerate(fonts):
prop = fm.FontProperties(fname=font_path, size=20)
ax = fig.add_subplot(y, 4, i + 1)
ax.set_title(font, fontproperties=prop)
ax.text(0.5, 0.5, "字體展示效果", ha="center", va="center", transform=ax.transAxes, fontproperties=prop, fontsize=20)
plt.show()
四、在控制台中打印字體
在Python中,使用亞洲字體的首選方法是使用rich庫。rich庫是一個在控制台中格式化和顯示文本的Python庫,具有友好、靈活的API和對多種平台和環境的完整支持。
下面的代碼演示了如何在控制台中打印不同字體的示例:
from rich.console import Console
from rich.panel import Panel
console = Console()
fonts = ['bold', 'blue', 'green', 'red', 'magenta', 'yellow', 'bright_black', 'bright_red', 'bright_green', 'bright_yellow', 'bright_blue', 'bright_magenta', 'bright_cyan', 'bright_white', 'italic', 'underline']
for font in fonts:
console.print(Panel(f"使用{font}字體顯示文字", title=font))
五、使用第三方python-labelme庫
Python-labelme庫是一個簡單易用的、方便快捷的標註工具。除了支持標註圖片,還可以對標記進行編輯和查看,並且支持導出為JSON格式。此外,它還支持字體的選擇,開發者可以在工具中體驗並使用多種不同類型的字體。
pip install labelme
labelme
六、使用wordcloud實現詞雲
Python中另外一個非常優秀的字體庫是wordcloud。WordCloud是一個Python軟件包,可以繪製單詞大小與其重要性相關的詞雲。該庫支持自定義字體,除了一些基本的字體外,開發者還可以通過自行添加字體文件,自定義自己的字體。
pip install wordcloud
import jieba
import numpy as np
from PIL import Image
from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt
# 加載文本文件
text = open('sample.txt', 'r', encoding='utf-8').read()
# 分詞
cut_text = " ".join(jieba.cut(text))
# 加載圖片
mask = np.array(Image.open("mask.png"))
# 停用詞
stopwords = set(STOPWORDS)
# 自定義字體
font_path = 'C:/Windows/fonts/simkai.ttf'
# 生成wordcloud
wc = WordCloud(background_color="white", max_words=2000, mask=mask, stopwords=stopwords, font_path=font_path,
contour_width=3, contour_color='steelblue')
wc.generate(cut_text)
# 顯示詞雲
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()
結語
字體對於程序的視覺體驗是非常重要的。Python中有多種方法可以使用不同的字體,開發者可以根據自己的需求和喜好進行選擇。同時,Python中也不乏優秀的字體庫和工具,有助於開發者更好地應用字體。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/252268.html