Maurits Lamers <maur...@weidestraat.nl> writes:

> Hi,
>
> I am writing an extension to lilypond to support generating some basic
> braille inside an includable .ly file.
> I am trying to map the characters of lyric events into a set of braille dots.
> One of the issues I have is that I have trouble finding a way to do
> this with characters which seem to be multi-byte.
> In this case, these character are defined in text mode as 
>
> "’s He"
>
> I have tried quite a few ways of simply getting 5 characters, but the
> first one (which I found out through other means) has charcode 8217.
> None of the functions I could find works to get this character as one
> character, as it seems that even integer->char only allows values
> between 0 and 255.

Characters in Guile 1.8 are bytes.  Where it the problem?

> I have fiddled with ly:wide-char->utf-8 and ly:encode-string-for-pdf
> but that doesn't bring much either.

\markup \char #5000

And it's not like

\markup #(ly:wide-char->utf-8 5000)

wouldn't work.  You just have to work with strings instead of characters.

> Because of other limitations, it has to be compatible with Lilypond
> 2.14.

A really bad idea.

> I have a big assoc list which contains the mapping, so I would like to
> be able to perform (assoc-ref mymapping (symbol char)) to do the
> lookup
> What would be the best way of achieving this with multi-byte
> characters?

Use strings.  assoc-ref can work with them.

-- 
David Kastrup

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to