From: Jan Nieuwenhuizen Date: Wed, 7 Apr 2004 09:17:53 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: release/2.3.0~79 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=5fb6b0b42ea4af7b0e71e7ce7b1676e0265fb4c2;p=lilypond.git *** empty log message *** --- 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)))