[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Character encoding / poor man's letterspacing
From: |
David Kastrup |
Subject: |
Re: Character encoding / poor man's letterspacing |
Date: |
Mon, 11 Mar 2019 23:40:57 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Urs Liska <address@hidden> writes:
> Am 11.03.19 um 20:22 schrieb Aaron Hill:
>> On 2019-03-11 11:30 am, David Kastrup wrote:
>>> Urs Liska <address@hidden> writes:
>>>
>>>> Hi,
>>>>
>>>> I've written a poor-man's implementation of a simple \letterspaced
>>>> markup command:
>>>>
>>>> #(define-markup-command
>>>> (letterspaced layout props text)(markup?)
>>>> (let*
>>>> ((chars (string->list text))
>>>> (dummy (ly:message "Chars: ~a" chars))
>>>> (spaced-text
>>>> (string-join
>>>> (map string chars) " ")))
>>>> (interpret-markup layout props
>>>> (markup spaced-text))))
>>>>
>>>> However, this scrambles umlauts and presumably other UTF-8 characters
>>>> as you can see with
>>>>
>>>> {
>>>> s1 ^\markup \letterspaced "Täst"
>>>> }
>>>>
>>>> =>Chars: (T � � s t)
>>>>
>>>> Obviously the characters are wrongly en/decoded along the way, which
>>>> makes me think whether I have simply forgotten an encoding setting
>>>> somewhere (although I have no idea where and how I should include
>>>> that) or whether that whole routine is totally clumsy.
>>>>
>>>> Any pointer would be appreciated.
>>>
>>> Guile-1.8 has only byte strings, not Unicode character strings.
>>> However, the regexp procedures are locale aware, so you can use
>>> something like
>>
>> /./ isn't smart enough to match Unicode graphemes. You would need
>> /\X/, however that is not supported in POSIX ERE. Neither is the
>> approximation /\P{M}\p{M}*+/.
>
>
> I can confirm that the suggestion doesn't work for me, even with the
> given example. It's still "T s t" (see attached).
Do you have an UTF-8 locale set?
--
David Kastrup
- Character encoding / poor man's letterspacing, Urs Liska, 2019/03/11
- Re: Character encoding / poor man's letterspacing, Aaron Hill, 2019/03/11
- Re: Character encoding / poor man's letterspacing, David Kastrup, 2019/03/11
- Re: Character encoding / poor man's letterspacing, Aaron Hill, 2019/03/11
- Re: Character encoding / poor man's letterspacing, Urs Liska, 2019/03/11
- Re: Character encoding / poor man's letterspacing,
David Kastrup <=
- Re: Character encoding / poor man's letterspacing, Aaron Hill, 2019/03/11
- Re: Character encoding / poor man's letterspacing, Urs Liska, 2019/03/12
- Re: Character encoding / poor man's letterspacing, Henning Hraban Ramm, 2019/03/12
- Re: Character encoding / poor man's letterspacing, Alexander Kobel, 2019/03/12
- Re: Character encoding / poor man's letterspacing, Urs Liska, 2019/03/12
- Re: Character encoding / poor man's letterspacing, Aaron Hill, 2019/03/12
- Re: Character encoding / poor man's letterspacing, Aaron Hill, 2019/03/12
- Re: Character encoding / poor man's letterspacing, Urs Liska, 2019/03/12