))
;;;;;;;;;;;;;;;;
-;; hash
-
+;; vector
+(define-public (vector-for-each proc vec)
+ (do
+ ((i 0 (1+ i)))
+ ((>= i (vector-length vec)) vec)
+
+ (vector-set! vec i
+ (proc (vector-ref vec i)))))
+;;;;;;;;;;;;;;;;
+;; hash
(if (not (defined? 'hash-table?)) ; guile 1.6 compat
(begin
((equal? (ly:unit) "pt") (/ 72.0 72.27))
(else (error "unknown unit" (ly:unit)))))
+;;; font
+(define-public (font-family font)
+ (let ((name (ly:font-name font)))
+ (if name
+ (regexp-substitute/global #f "^GNU-(.*)-[.0-9]*$" name 'pre 1 'post)
+ (begin
+ ;;(stderr "font-name: ~S\n" (ly:font-name font))
+ ;;(stderr "font-file-name: ~S\n" (ly:font-file-name font))
+ (ly:font-file-name font)))))
+