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.