{
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++)
{
(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)
(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)
;; 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)
(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)))