ตั้งแต่เดิมฉันถามคำถามนี้ในปี 2011 ข้อมูลได้ยากขึ้นทั้งใน Ubuntu (ที่ FontMatrix ที่แนะนำก่อนหน้านี้ดูเหมือนจะไม่มีฟีเจอร์นี้) และใน macOS
หากมีใครสนใจภาษาโดยทั่วไปมากกว่าอักขระที่เฉพาะเจาะจงตัวอย่างเช่นใช้fc-list
กับ:lang
:
~% 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
สำหรับตัวละครเฉพาะฉันถามคำถามที่คล้ายกันใน“ ถามที่แตกต่างกัน”; การคัดลอกสคริปต์ Python ที่นี่ที่ฉันใช้ด้วย (ทำงานได้กับทั้งระบบปฏิบัติการ)
ติดตั้งอย่างใดอย่างหนึ่งpython-fontconfig
หรือpython3-fontconfig
แพคเกจ (หรือทั้งสอง) ขึ้นอยู่กับว่าคุณต้องการใช้งูหลามงูหลาม 2 หรือ 3
บันทึกรหัสต่อไปนี้ลงในไฟล์ที่ชื่อว่า (พูด) 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)
- เรียกใช้สคริปต์ด้วย
python find_fonts.py ಠ
หรือpython3 find_fonts.py ಠ
แทนที่ಠ
ด้วยอักขระที่คุณสนใจ
ตัวอย่างผลลัพธ์:
$ 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