- ;; todo - doc format of list.
- (all-font-names
- (map
- (lambda (font)
- (cond ((string? (ly:font-file-name font))
- (list (list font
- (ly:font-name font)
- (ly:font-file-name font)
- #f)))
- ((ly:pango-font? font)
- (map (lambda (psname-filename-fontindex)
- (list #f
- (list-ref psname-filename-fontindex 0)
- (list-ref psname-filename-fontindex 1)
- (list-ref psname-filename-fontindex 2)))
- (ly:pango-font-physical-fonts font)))
- (else
- (ly:font-sub-fonts font))))
- fonts))
- (font-names (uniq-list
- (sort (apply append all-font-names)
- (lambda (x y) (string<? (cadr x) (cadr y))))))
-
- ;; slightly spaghetti-ish: deciding what to load where
- ;; is smeared out.
- (font-loader
- (lambda (name)
- (cond ((ly:get-option 'gs-load-fonts)
- (load-font-via-GS name))
- ((ly:get-option 'gs-load-lily-fonts)
- (if (or (string-contains (caddr name)
- (ly:get-option 'datadir))
- (internal-font? (caddr name)))
- (load-font-via-GS name)
- (load-font name)))
- (else
- (load-font name)))))
- (pfas (map font-loader font-names)))
+ ;; todo - doc format of list.
+ (all-font-names
+ (map
+ (lambda (font)
+ (cond ((string? (ly:font-file-name font))
+ (list (list font
+ (ly:font-name font)
+ (ly:font-file-name font)
+ #f)))
+ ((ly:pango-font? font)
+ (map (lambda (psname-filename-fontindex)
+ (list #f
+ (list-ref psname-filename-fontindex 0)
+ (list-ref psname-filename-fontindex 1)
+ (list-ref psname-filename-fontindex 2)))
+ (ly:pango-font-physical-fonts font)))
+ (else
+ (ly:font-sub-fonts font))))
+ fonts))
+ (font-names (uniq-list
+ (sort (concatenate all-font-names)
+ (lambda (x y) (string<? (cadr x) (cadr y))))))
+
+ ;; slightly spaghetti-ish: deciding what to load where
+ ;; is smeared out.
+ (font-loader
+ (lambda (name)
+ (cond ((ly:get-option 'gs-load-fonts)
+ (load-font-via-GS name))
+ ((ly:get-option 'gs-load-lily-fonts)
+ (if (or (string-contains (caddr name)
+ (ly:get-option 'datadir))
+ (internal-font? (caddr name)))
+ (load-font-via-GS name)
+ (load-font name)))
+ (else
+ (load-font name)))))
+ (pfas (map font-loader font-names)))