2015-04-28 9:48 GMT+02:00 Urs Liska <address@hidden>:
Am 28.04.2015 um 09:38 schrieb Werner LEMBERG:
Is there a function to retrieve the "font name" from a given file
name? It would be a viable approach if I could compare the result
of that request with the original font name.
For TTFs and TTCs (either with TrueType outlines or embedded CFFs) you
can use `ly:ttf-ps-name'.
Thanks that seems to work perfectly. Try
\version "2.19.19"
fontExists =
#(define-void-function (parser location font-name)(string?)
(let* ((font-file (ly:font-config-get-font-file font-name))
(reverse-font-name (ly:ttf-ps-name font-file))
(font-exists (string=? font-name reverse-font-name)))
(ly:message (format "\nGiven font name: ~a" font-name))
(ly:message (format "Determined font file: ~a" font-file))
(ly:message (format "Actual font in that file: ~a" reverse-font-name))
(ly:message (format "Given font is present: ~a" font-exists))))
\fontExists "Emmentaler-13"
\fontExists "Fancy-Font"
For me this returns:
Given font name: Emmentaler-13
Determined font file: /home/harm/.fonts/wds052801.ttf
Actual font in that file: WaltDisneyScript
Given font is present: #f
Given font name: Fancy-Font
Determined font file: /home/harm/.fonts/wds052801.ttf
Actual font in that file: WaltDisneyScript
Given font is present: #f