รับช่วง Unicode ที่รองรับจากไฟล์ Font * .ttf บน Ubuntu


9

ฉันมีแบบอักษรบางส่วนในรูปแบบ 'ttf' บนเครื่อง Ubuntu ของฉัน

ฉันต้องการทราบเมตาดาต้าของแบบอักษรเหล่านั้นเกี่ยวกับช่วง Unicode และ Codepages ที่ไม่ใช่แบบ Unicode ซึ่งเป็นแบบอักษรที่สนับสนุน

ฉันจะทำมันได้อย่างไร

เพิ่ม 1: ลืมที่จะพูดถึงว่าฉันต้องการได้รับข้อมูลเหล่านั้นสำหรับแบบอักษรหลายร้อยแบบดังนั้นฉันจึงต้องการเทอร์มินัลเทอร์มินัลบางชนิดที่สามารถทำให้เป็นอัตโนมัติ

คำตอบ:


8

fc-queryสามารถแสดงชุดอักขระ Unicode ได้รับการสนับสนุน แม้ว่าฉันจะไม่รู้จักเพจรหัสอื่น

ตัวอย่างเช่นfc-query /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttfบน Debian ของฉันแสดงสิ่งนี้:

…
charset: 
    0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
    0001: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
    0002: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 008873ff
…

มันแสดงช่วงของตัวละครที่ได้รับการสนับสนุนแม้ว่ามันจะไม่ได้เป็นของมัน (คุณต้องรู้ว่าช่วงไหนเป็นของบล็อคอะไร)

ยกตัวอย่างเช่นคอลัมน์ที่สี่ของ 0000 ซึ่งสอดคล้องกับ U + 0060 - U + 007F มีค่า hex 7fffffffของ นี่คือค่าบิตของ0111 1111 1111 1111 1111 1111 1111 1111โดยที่บิตที่เหมาะสมที่สุดคือ U + 0060 และซ้ายสุดคือ U + 007F ซึ่งหมายความว่าแบบอักษรนี้ไม่สนับสนุน U + 007F

fc-queryคุณอาจจะต้องเขียนสคริปต์ที่ทำให้การดำเนินงานค่าที่เหมาะสมกับข้อมูลที่ให้บริการโดย

P / S: ไซต์ go-to ที่ชื่นชอบสำหรับข้อมูล unicode คือFileFormat.Info


ฉันจะหาข้อมูลเกี่ยวกับช่วงที่เป็นของบล็อคใดได้ที่ไหน
akaihola

อาหมายเลขบรรทัดให้เลขฐานสิบหกด้านซ้ายสุดของจุดรหัสและตำแหน่งของบิตในเขตข้อมูลบิตให้ตัวเลขฐานสิบหกสองขวาสุด ขวา?
akaihola

1

ผมอยากแนะนำให้FontForge มันมีอยู่ในแพคเกจผู้จัดการของ Ubuntu fontforgeเป็นเพียง


ใช่ฉันพบโปรแกรมนี้ - แต่ฉันเข้าใจว่ามันมีเพียงอินเตอร์เฟส GUI แต่ฉันต้องการเทอร์มินัลเพื่อทำให้สิ่งนี้เป็นอัตโนมัติ
ShockwaveNN

@ShockwaveNN: พูดอย่างนั้นในคำถามของคุณ โอกาสในการได้คำตอบที่เหมาะสมกับคำถามของคุณจะเพิ่มขึ้นหากคุณระบุคำถามจริง
Daniel Andersson

1

หมายเหตุสำหรับทุกคนที่พบสิ่งนี้ ..

fc-query ไม่น่าเชื่อถือ 100% ในเอาต์พุต charset

ตัวอย่างเช่นYogafontบน dafont.com สิ่งนี้แสดงชุดอักขระว่างแม้ว่ามันจะมีตัวอักษรอยู่ในนั้นแน่นอน

$ fc-query yogafont.TTF
Pattern has 20 elts (size 32)
    family: "Yogafont"(s)
    familylang: "en"(s)
    style: "Regular"(s)
    stylelang: "en"(s)
    fullname: "Yogafont"(s)
    fullnamelang: "en"(s)
    slant: 0(i)(s)
    weight: 80(i)(s)
    width: 100(i)(s)
    spacing: 100(i)(s)
    foundry: "unknown"(s)
    file: "yogafont.TTF"(s)
    index: 0(i)(s)
    outline: FcTrue(s)
    scalable: FcTrue(s)
    charset: 
(s)
    lang: (s)
    fontversion: 0(i)(s)
    fontformat: "TrueType"(s)
    decorative: FcFalse(s)

แบบอักษรอื่น ๆ ที่มีภาพวาดในนั้นเช่นWW1แสดงชุดอักขระที่ จำกัด

$ fc-query WW1-A___.TTF 
Pattern has 19 elts (size 32)
    family: "WW1  A"(s)
    familylang: "en"(s)
    style: "Regular"(s)
    stylelang: "en"(s)
    fullname: "WW1  A"(s)
    fullnamelang: "en"(s)
    slant: 0(i)(s)
    weight: 80(i)(s)
    width: 100(i)(s)
    foundry: "unknown"(s)
    file: "WW1-A___.TTF"(s)
    index: 0(i)(s)
    outline: FcTrue(s)
    scalable: FcTrue(s)
    charset: 
    0000: 00000000 00000001 00000000 0001fffe 00000000 00000000 00000000 00000000
(s)
    lang: (s)
    fontversion: 65536(i)(s)
    fontformat: "TrueType"(s)
    decorative: FcFalse(s)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.