fortune
Ekrandaki 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 fonttools
terminal ü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 fonttools
yukarı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-match
ancak 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-view
onaltı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: