Ubuntu'daki Font * .ttf dosyasından Desteklenen Unicode Aralıklarını Alın


9

Ubuntu makinemde 'ttf' biçiminde bazı yazı tipleri var.

Unicode aralıkları ve hangi unicode olmayan kod sayfalarının desteklendiği bu yazı tiplerinin bazı meta verilerini bilmek istiyorum.

Nasıl yapabilirim?

Eklendi 1: Birkaç yüz yazı tipi için bu bilgileri almak istediğinizi belirtmeyi unuttum, bu yüzden otomatikleştirilebilen bir tür terminal yardımcı programına ihtiyacım var

Yanıtlar:


8

fc-querydesteklenen unicode karakter kümelerini gösterebilir. Gerçi diğer kod sayfalarını bilmiyorum.

Örneğin, fc-query /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttfDebian'ımda şunu gösterir:

…
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
…

Desteklenen karakter aralıklarını gösterir, ancak hangi bloğa ait olduğunu göstermez (hangi aralığın hangi bloğa ait olduğunu bilmeniz gerekir).

Örneğin, 0000'ın U + 0060 - U + 007F'ye karşılık gelen dördüncü sütunu onaltılık bir değere sahiptir 7fffffff. Bunun bit değeri 0111 1111 1111 1111 1111 1111 1111 1111, en sağdaki bit U + 0060 ve en soldaki ise U + 007F'dir. Bu, U + 007F'nin bu yazı tipinde desteklenmediği anlamına gelir.

Muhtemelen tarafından sağlanan bilgiler üzerinde bitsel işlemler yapan bir komut dosyası yazmanız gerekir fc-query.

P / S: Unicode bilgileri için favori go-to sitem FileFormat.Info


Hangi aralığın hangi bloğa ait olduğu hakkında bilgiyi nerede bulabilirim?
akaihola

Ah, satır numarası kod noktasının en soldaki onaltılık basamağını verir ve bit alanındaki bitin konumu en sağdaki iki onaltılık basamağı verir. Sağ?
akaihola

1

FontForge'u tavsiye ederim . Ubuntu'nun paket yöneticisinde olduğu gibi fontforge.


Evet, bu programı buldum - ama anladığım kadarıyla sadece GUI arayüzü var, ama bu şeyi otomatikleştirmek için terminale ihtiyacım var
ShockwaveNN

@ShockwaveNN: Peki, o zaman sorunda söyle. Asıl sorunuzu belirtirseniz, sorunuza uygun bir cevap alma şansınız artar.
Daniel Andersson

1

Bunu bulan herkes için not ..

fc-query karakter seti çıktısında% 100 güvenilir değildir.

Örneğin dafont.com'daki Yogafont , boş bir karakter kümesi gösterir, ancak kesinlikle karakterleri vardır.

$ 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 gibi çizimleri olan diğer yazı tipleri sınırlı bir karakter kümesi gösterir.

$ 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)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.