- if (input_encoding_ != ""
- && input_encoding_ != "TeX"
- && input_encoding_ != "ASCII"
- && input_encoding_ != font_encoding)
- {
- coding_vector_ = scm_call_1 (ly_scheme_function ("get-coding-vector"),
- scm_makfrom0str (font_encoding.to_str0 ()));
-
- if (!ly_c_vector_p (coding_vector_))
- {
- programming_error ("get-coding-vector should return vector");
- coding_vector_ = scm_c_make_vector (256, ly_symbol2scm (".notdef"));
- }
-
- coding_table_ = scm_call_1 (ly_scheme_function ("get-coding-table"),
- scm_makfrom0str (font_encoding.to_str0 ()));
-
- coding_mapping_
- = scm_call_2 (ly_scheme_function ("make-encoding-mapping"),
- coding_vector_,
- coding_table_);
-
- coding_description_ = SCM_EOL;
- coding_description_
- = scm_acons (ly_symbol2scm ("input-name"),
- scm_makfrom0str (input_encoding_.to_str0 ()),
- coding_description_);
- coding_description_
- = scm_acons (ly_symbol2scm ("input-vector"),
- coding_vector_, coding_description_);
- coding_description_
- = scm_acons (ly_symbol2scm ("output-name"),
- scm_makfrom0str (orig_->coding_scheme ().to_str0 ()),
- coding_description_);
- coding_description_
- = scm_acons (ly_symbol2scm ("output-table"),
- coding_table_,
- coding_description_);
- coding_description_
- = scm_acons (ly_symbol2scm ("char-mapping"),
- coding_mapping_,
- coding_description_);
- }