From ced6aa9c0339da9fb59ebbbaca5a9ae5b664b138 Mon Sep 17 00:00:00 2001
From: janneke <janneke>
Date: Wed, 7 Apr 2004 09:17:53 +0000
Subject: [PATCH] *** empty log message ***

---
 lily/scaled-font-metric.cc | 21 ++++++++++++---------
 scm/encoding.scm           | 16 ++++++----------
 scm/lily.scm               |  2 +-
 scm/output-tex.scm         | 34 ++++++++++++++++++++++++++--------
 4 files changed, 45 insertions(+), 28 deletions(-)

diff --git a/lily/scaled-font-metric.cc b/lily/scaled-font-metric.cc
index 3e6f2caa6f..c84b90a224 100644
--- a/lily/scaled-font-metric.cc
+++ b/lily/scaled-font-metric.cc
@@ -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++) 
 	{
diff --git a/scm/encoding.scm b/scm/encoding.scm
index c48931a02a..fe3b4028bc 100644
--- a/scm/encoding.scm
+++ b/scm/encoding.scm
@@ -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)
diff --git a/scm/lily.scm b/scm/lily.scm
index 928ebefbaa..0e994112d9 100644
--- a/scm/lily.scm
+++ b/scm/lily.scm
@@ -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)
diff --git a/scm/output-tex.scm b/scm/output-tex.scm
index a65863f383..a9255fb561 100644
--- a/scm/output-tex.scm
+++ b/scm/output-tex.scm
@@ -311,14 +311,32 @@
   (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)))
-- 
2.39.5