Vì ban đầu tôi đã hỏi câu hỏi này vào năm 2011, thông tin trở nên khó tìm thấy hơn trên cả Ubuntu (nơi FontMatrix được đề xuất trước đây dường như không còn có tính năng này) và trên macOS.
Nếu một người quan tâm đến một ngôn ngữ nói chung chứ không phải là một ký tự cụ thể, sẽ được sử dụng fc-list
với :lang
, ví dụ:
~% fc-list :lang=kn-in
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Regular.ttf: Noto Sans Kannada UI:style=Regular
/usr/share/fonts/truetype/noto/NotoSansKannada-Bold.ttf: Noto Sans Kannada:style=Bold
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Bold.ttf: Noto Sans Kannada UI:style=Bold
/usr/share/fonts/truetype/noto/NotoSerifKannada-Regular.ttf: Noto Serif Kannada:style=Regular
/usr/share/fonts/truetype/Navilu/Navilu.ttf: Navilu:style=Normal
/usr/share/fonts/truetype/noto/NotoSansKannada-Regular.ttf: Noto Sans Kannada:style=Regular
/usr/share/fonts/truetype/lohit-kannada/Lohit-Kannada.ttf: Lohit Kannada:style=Regular
/usr/share/fonts/truetype/Gubbi/Gubbi.ttf: Gubbi:style=Normal
/usr/share/fonts/truetype/noto/NotoSerifKannada-Bold.ttf: Noto Serif Kannada:style=Bold
Đối với các nhân vật cụ thể, tôi đã hỏi một câu hỏi tương tự trên Câu hỏi khác nhau; sao chép tập lệnh Python mà tôi đã sử dụng (nó hoạt động trên cả hai hệ điều hành).
Cài đặt python-fontconfig
hoặc python3-fontconfig
gói (hoặc cả hai), tùy thuộc vào việc bạn thích sử dụng Python 2 hay Python 3.
Lưu mã sau vào một tệp có tên (nói) find_fonts.py
:
#!/usr/bin/env python
def find_fonts(c):
"""Finds fonts containing the (Unicode) character c."""
import fontconfig
fonts = fontconfig.query()
for path in sorted(fonts):
font = fontconfig.FcFont(path)
if font.has_char(c):
yield path
if __name__ == '__main__':
import sys
search = sys.argv[1]
char = search.decode('utf-8') if isinstance(search, bytes) else search
for path in find_fonts(char):
print(path)
- Chạy tập lệnh bằng
python find_fonts.py ಠ
hoặc python3 find_fonts.py ಠ
thay thế ಠ
bằng ký tự bạn quan tâm.
Ví dụ đầu ra:
$ python3 find_fonts.py ಠ
/usr/share/fonts/truetype/Gubbi/Gubbi.ttf
/usr/share/fonts/truetype/Navilu/Navilu.ttf
/usr/share/fonts/truetype/lohit-kannada/Lohit-Kannada.ttf
/usr/share/fonts/truetype/noto/NotoSansKannada-Bold.ttf
/usr/share/fonts/truetype/noto/NotoSansKannada-Regular.ttf
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Bold.ttf
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Regular.ttf
/usr/share/fonts/truetype/noto/NotoSerifKannada-Bold.ttf
/usr/share/fonts/truetype/noto/NotoSerifKannada-Regular.ttf