fortune
화면 알림에 표시하기 위해 출력을 호출 하고 캡처 하는 Python3 appindicator를 작성했습니다 .
현재 글꼴에 해당 글리프가없는 경우 일부 운에는 16 진수로 된 사각형이 포함됩니다. 각 사각형은 누락 된 글리프에 대한 16 진수 유니 코드 코드 포인트를 나타냅니다.
사용자에게 표시하기 전에 16 진 텍스트를 제거하고 싶습니다. 문자별로 문자를 검사하여 비슷 char.isValidCodePoint()
하거나 비슷한 것을 결정할 수있는 Python API를 찾고 있었지만 찾을 수는 없었습니다.
여기 에서 조사하고 싶은 가능한 해결책을 찾았 지만 fonttools
터미널을 통해 설치 한 후 Python 프로그램을 가져올 수 없습니다 fonttools/fontTools
.
파이썬 API를 사용하거나 터미널을 호출하는 아이디어가 있습니까?
업데이트 # 1 : 이후 fonttools
Python2이므로 위 링크 의 샘플 코드가 작동하지 않는다는 것을 깨달았습니다 . fonttools
어떻게 든 사용할 수 있다면 Python3 스크립트에서 Python2 인터프리터를 호출 할 수 있다고 가정합니다 .
업데이트 # 2 : 많은 독서 후 (아래 참조 참조) 이후 발견 fc-match
했지만 사용중인 글꼴을 항상 고유하게 식별 할 수는 없습니다 . 파이썬에서 현재 글꼴을 얻습니다.
from gi.repository import Gio
fontName = Gio.Settings( "org.gnome.desktop.interface" ).get_string( "font-name" )
결과 Ubuntu 11
. 이 결과를 pango-view
16 진수 문자와 함께 전달하면을 포함한 글꼴 목록이 나타납니다 Ubuntu
. 글꼴에 의해 글리프가 렌더링되지 않았다면 내 생각에 글꼴이 나타나지 않아야합니다 pango-view
!
참고 문헌 :