]> git.donarmstrong.com Git - lilypond.git/commitdiff
*** empty log message ***
authorJan Nieuwenhuizen <janneke@gnu.org>
Wed, 7 Apr 2004 09:17:53 +0000 (09:17 +0000)
committerJan Nieuwenhuizen <janneke@gnu.org>
Wed, 7 Apr 2004 09:17:53 +0000 (09:17 +0000)
lily/scaled-font-metric.cc
scm/encoding.scm
scm/lily.scm
scm/output-tex.scm

index 3e6f2caa6f32f2a18ddb15de219356fab3a7c141..c84b90a2246345fba1a521638a00373d9d9b2c30 100644 (file)
@@ -194,25 +194,28 @@ Modified_font_metric::text_dimension (String text)
     {
       if (!gh_vector_p (coding_vector_))
        {
-         coding_vector_ = scm_call_1 (ly_scheme_function ("get-coding-vector"),
-                                      scm_makfrom0str (coding_scheme_.to_str0 ()));
+         coding_vector_
+           = scm_call_1 (ly_scheme_function ("get-coding-vector"),
+                         scm_makfrom0str (coding_scheme_.to_str0 ()));
 
          if (!gh_vector_p (coding_vector_))
            {
              programming_error ("get-coding-vector  should return vector");
-             coding_vector_ = scm_c_make_vector (256, ly_symbol2scm (".notdef"));
+             coding_vector_ = scm_c_make_vector (256,
+                                                 ly_symbol2scm (".notdef"));
            }
 
-         coding_table_ = scm_call_1 (ly_scheme_function ("get-coding-table"),
-                                     scm_makfrom0str (orig_->coding_scheme ().to_str0 ()));
+         coding_table_
+           = scm_call_1 (ly_scheme_function ("get-coding-table"),
+                         scm_makfrom0str (orig_->coding_scheme ().to_str0 ()));
          
-         coding_permutation_  = scm_call_2 (ly_scheme_function ("make-encoding-permutation"),
-                                            coding_vector_,
-                                            coding_table_);
+         coding_permutation_
+           = scm_call_2 (ly_scheme_function ("make-encoding-permutation"),
+                         coding_vector_, coding_table_);
        }
          
       Interval ydims;
-      Real w=0.0;
+      Real w = 0.0;
 
       for (int i = 0; i < text.length (); i++) 
        {
index c48931a02a961ba1635be530b6220d4564e9748d..fe3b4028bcb534538af082801157cf116df52c70 100644 (file)
@@ -40,16 +40,14 @@ vector of symbols."
                (vector-ref permutation (char->integer chr)))
              str))
 
-(define-public (make-encoding-permutation input-encoding
-                                         output-encoding)
-
+(define-public (make-encoding-permutation input-encoding output-encoding)
   "Contruct a permutation by applying output-encoding after input-encoding "
   (list->vector
    (map
     (lambda (byte)
-      (let*
-         ((new-char (hash-ref output-encoding
-                              (vector-ref input-encoding byte) #f)))
+      (let ((new-char (hash-ref
+                      output-encoding (vector-ref input-encoding byte) #f)))
+                      ;;input-encoding (vector-ref output-encoding byte) #f)))
 
        ;; substitute space for unknown characters.
        (if (char? new-char)
@@ -60,10 +58,8 @@ vector of symbols."
 
 (define (get-coding-from-file filename)
   "Read FILENAME, return a list containing encoding vector and table"
-  
-  (let*
-      ((vec (read-encoding-file filename))
-       (tab (make-encoding-table vec)))
+   (let* ((vec (read-encoding-file filename))
+         (tab (make-encoding-table vec)))
     (list vec tab)))
 
 ;; coding-alist maps NAME -> (list VECTOR TAB)
index 928ebefbaa1796c74bd4da602093691ee5ca934d..0e994112d96d076a08126b54f633bc7c095e38e2 100644 (file)
@@ -12,7 +12,7 @@
 
 ;; ugh, need this for encoding.scm test
 ;; srfi-13 overrides string->list
-(define plain-string->list string->list)
+(define-public plain-string->list string->list)
 
 (use-modules (ice-9 regex)
             (ice-9 safe)
index a65863f383e8f9fa5e4a6c6ea35170aed46bf7a7..a9255fb561e2877deaa5008a6040e74d82355986 100644 (file)
   (embedded-ps (list 'round-filled-box  x y width height blotdiam)))
 
 (define (text font s)
-  (let*
-      ((perm (caddr (ly:font-encoding font))))
-  (string-append "\\hbox{\\" (font-command font) "{}"
-                (output-tex-string
-                 (if (vector? perm)
-                     (reencode-string perm s)
-                     s))
-                 "}")))
+  (let* ((encoding (ly:font-encoding font))
+        (names (car encoding))
+        (table (cadr encoding))
+        (permutation (caddr encoding)))
+    (if (ly:get-option 'verbose)
+       (begin
+         (format (current-error-port) "TEXT: ~S\n" s)
+         ;;(format (current-error-port) "encoding: ~S\n" encoding)
+         ;;(format (current-error-port) "table: ~S\n" table)
+         ;;(format (current-error-port) "permutation: ~S\n" permutation)
+         (map (lambda (x)
+              (let ((name (vector-ref names x)))
+                (format
+                 (current-error-port)
+                 "number:~S\nname:~S\ntable:~S\npermutation:~S\npnum:~S\n\n"
+                        x name
+                        (hash-ref table x)
+                        (vector-ref permutation x)
+                        (char->integer (vector-ref permutation x)))))
+                 (map char->integer (plain-string->list s)))))
+    
+    (string-append
+     "\\hbox{\\" (font-command font) "{}"
+     (output-tex-string (if (vector? permutation)
+                           (reencode-string permutation s) s))
+     "}")))
 
 (define (tuplet ht gapx dx dy thick dir)
   (embedded-ps (list 'tuplet  ht gapx dx dy thick dir)))