- (string-append
- "magfont" (string-encode-integer (hashq name 1000000))
- "m" (string-encode-integer (inexact->exact (round (* 1000 magnify))))
- (if (not coding-command) "" (string-append "e" coding-command)))))
-
-(define (define-fonts paper font-list)
-
- (define (define-font command fontname scaling)
- (string-append
- "/" command " { /" fontname " findfont "
- (ly:number->string scaling) " output-scale div scalefont } bind def\n"))
-
- (define (reencode-font plain encoding command)
- (let ((coding-vector (get-coding-command encoding)))
- (string-append
- plain " " coding-vector " /" command " reencode-font\n"
- "/" command "{ /" command " findfont 1 scalefont } bind def\n")))
-
- (define (guess-ps-fontname basename)
- "We do not have the FontName, try to guess is from basename."
- (cond
- ((tex-font? basename)
- ;; FIXME: we need proper Fontmap for the bluesky CM*, EC* fonts.
- ;; Only the fonts that we trace in mf/ are in our own FontMap.
- (string-append basename ".pfb"))
- (else (string-append basename ".pfa"))
- ))
-
- (define (font-load-command paper font)
- (let* ((specced-font-name (ly:font-name font))
- (fontname (if specced-font-name
- specced-font-name
- (guess-ps-fontname (ly:font-filename font))))
-
- (coding-alist (ly:font-encoding-alist font))
- (input-encoding (assoc-get 'input-name coding-alist))
- (font-encoding (assoc-get 'output-name coding-alist))
- (command (font-command font))
- ;; FIXME -- see (font-command )
- (plain (font-command font #f))
- (designsize (ly:font-design-size font))
- (magnification (* (ly:font-magnification font)))
- (ops (ly:output-def-lookup paper 'outputscale))
- (scaling (* ops magnification designsize)))
-
- (string-append
- (define-font plain fontname scaling)
- (if (or (equal? input-encoding font-encoding)
- ;; guh
- (equal? font-encoding "fetaBraces")
- (equal? font-encoding "fetaNumber")
- (equal? font-encoding "fetaMusic")
- (equal? font-encoding "parmesanMusic"))
- ""
- (reencode-font plain input-encoding command)))))
-
- (define (font-load-encoding encoding)
- (let ((filename (get-coding-filename encoding)))
- (ly:kpathsea-gulp-file filename)))
-
- (let* ((encoding-list (map (lambda (x)
- (assoc-get 'input-name
- (ly:font-encoding-alist x)))
- font-list))
- (encodings (uniq-list (sort-list (filter string? encoding-list)
- string<?))))
-
- (string-append
- (apply string-append (map font-load-encoding encodings))
- (apply string-append
- (map (lambda (x) (font-load-command paper x)) font-list)))))
-
-(define (define-origin file line col) "")