]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/encoding.scm
*** empty log message ***
[lilypond.git] / scm / encoding.scm
index b7efede0ee72b4415ed552557bb83ee48bc39bc6..5d35fe5745303e2d371d8beccf288911acf6b8ae 100644 (file)
 
 (define-public (read-encoding-file filename)
   "Read .enc file, return (COMMAND-NAME . VECTOR-OF-SYMBOLS)."
-  (let* ((raw (ly:kpathsea-gulp-file filename))
+  (let* ((path (ly:kpathsea-expand-path filename))
+        (unused (if (string? path) #t (ly:warn "can't find ~s" filename)))
+        (raw (ly:gulp-file path))
         (string (regexp-substitute/global #f "%[^\n]*" raw 'pre "" 'post))
         (command (match:substring
-               (string-match "/([^ \t\n\r]*)[ \t\n\r]+[[]" string) 1))
+                  (string-match "/([^ \t\n\r]*)[ \t\n\r]+[[]" string) 1))
         (encoding (match:substring (string-match "[[](.*)[]]" string) 1))
         (ps-lst (string-tokenize encoding))
         (lst (map (lambda (x) (string->symbol (substring x 1))) ps-lst))
@@ -74,7 +76,7 @@ vector of symbols."
               (cons (cdr x) (delay (get-coding-from-file (cdr x))))))
        
        '(
-        ;; teTeX
+        ;; teTeX font (output) encodings
         ("TeX-typewriter-text" . "09fbbfac.enc") ;; cmtt10
         ("TeX-math-symbols" . "10037936.enc") ;; cmbsy
         ("ASCII-caps-and-digits" . "1b6d048e.enc") ;; cminch
@@ -85,13 +87,14 @@ vector of symbols."
         ("Extended-TeX-Font-Encoding---Latin" . "tex256.enc")
         ("AdobeStandardEncoding" . "8a.enc")
         ("T1" . "tex256.enc")
-
-        ;; FIXME: find full Adobe; for testing -- almost Adobe:
-        ("adobe" . "ad.enc")
-
-        ("latin1" . "cork.enc")
+        ("adobe" . "8a.enc")
+        ("ec" . "EC.enc")
         
-        ;; LilyPond.
+        ;; input encodings
+        ("latin1" . "latin1.enc")
+        ("cork" . "cork.enc")
+
+        ;; LilyPond FETA music font
         ("fetaBraces" . "feta-braces-a.enc")
         ("fetaNumber" . "feta-nummer10.enc")
         ("fetaMusic" . "feta20.enc")
@@ -100,7 +103,16 @@ vector of symbols."
 
 (define (get-coding coding-name)
   (let ((entry (assoc-get coding-name coding-alist)))
-    (cons (car entry) (force (cdr entry)))))
+    (if entry
+       (cons (car entry) (force (cdr entry)))
+       (if (equal? coding-name "feta-music")
+           (begin
+             (ly:warn "installation problem: deprecated encoding requested: ~S" coding-name)
+             (exit 1))
+           (let ((fallback "latin1"))
+             (ly:programming-error "no such encoding: ~S" coding-name)
+             (ly:programming-error "programming error: cross thumbs, using: ~S:" fallback)
+             (get-coding fallback))))))
 
 (define-public (get-coding-filename coding-name)
   (car (get-coding coding-name)))