]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/general-scheme.cc
* scm/framework-ps.scm (output-preview-framework): bugfix.
[lilypond.git] / lily / general-scheme.cc
index 58a608c6839a79973a8157abe71e1aac963a2df3..b9fcf2540c594b1b9c26ddeb6a0dba9c43692288 100644 (file)
@@ -201,3 +201,22 @@ LY_DEFINE (ly_output_formats, "ly:output-formats",
 
   return lst;
 }
+
+LY_DEFINE(ly_wchar_to_utf_8, "ly:wide-char->utf-8",
+         1, 0, 0, (SCM wc),
+         "Encode the Unicode codepoint @var{wc} as UTF-8")
+{
+  char buf[100];
+
+  SCM_ASSERT_TYPE(scm_is_integer (wc), wc, SCM_ARG1, __FUNCTION__, "integer");
+  wchar_t wide_char = (wchar_t) scm_to_int (wc);
+
+  mbstate_t state;
+  memset (&state, '\0', sizeof (state));
+  memset (buf, '\0', sizeof (buf));
+
+  wcrtomb (buf, wide_char, &state);
+  
+  return scm_makfrom0str (buf);
+}
+