fortuneEkrandaki bildirimde görüntülenen çıkışı çağıran ve yakalayan bir Python3 appindicator yazdım .
Geçerli yazı tipinde karşılık gelen glif olmadığında, bazı talihler onaltılı sayıya sahip kareler içerir. Her kare, eksik glif için onaltılık Unicode kod noktasının temsilidir.
Kullanıcıya göstermeden önce onaltılık metni kaldırmak istiyorum. Ben char.isValidCodePoint()benzer veya benzer bir şey belirlemek için metin, karakter karakter, incelemek için izin verecek bazı Python API bulmayı umuyordum ama böyle bulamıyorum.
Burada araştırmak istediğim olası bir çözüm buldum, ancak fonttoolsterminal üzerinden kurduktan sonra Python programım içe aktarılamadı fonttools/fontTools.
Herhangi bir fikir - Python API kullanarak veya bir terminale çağırıyor?
Güncelleme # 1: O zamandan beri fonttoolsyukarıdaki bağlantıdan örnek kodun Python2 olduğu için benim için çalışmayacağını fark ettim. Bir fonttoolsşekilde kullanılabilseydi, Python3 betiğimden bir Python2 yorumlayıcısı çağırabilirim.
Güncelleme # 2: Çok sayıda okumadan sonra (aşağıdaki referanslara bakın), o zamandan beri buldum fc-matchancak kullanılan yazı tipini her zaman benzersiz bir şekilde tanımlayamıyor. Geçerli yazı tipini Python elde:
from gi.repository import Gio
fontName = Gio.Settings( "org.gnome.desktop.interface" ).get_string( "font-name" )
ile sonuçlanır Ubuntu 11. Bu sonucu pango-viewonaltılık karakterle birlikte geçirerek, dahil yazı tiplerinin bir listesini alıyorum Ubuntu. Glif, yazı tipi tarafından oluşturulmamışsa, yazı tipinin sonuçta görünmemesi gerektiğini düşünüyorum pango-view.
Referanslar: