Using non-standard unicode characters in a script?

I would like to use a Picard tagging script that makes use of (outputs) a middle dot.
It looks like this: · and is used as a word separator.
(unicode U+00B7)

If I try to enter a script containing it, Picard will prevent it protesting something like “computer says no”.

Is there a valid reason why this is not possible?
If so, is there perhaps a way to circumvent a limitation like this?

Did you try escaping it with a \ ?

Yep

45678901234567890

A silly test:

this works:
$set(testtag,%album%,%artist%)

this doesn’t:
$set(testtag,%album%\·%artist%)

That’s weird: it works for me without escaping. $set(testtag,·%artist%) writes the expected tag.

If the script is $set(testtag,%album%,%artist%), Picard will complain that there is an argument too many, so you’d have to combine %album% and %artist% first before using $set().

3 Likes

You nailed it, in my original script I had replaced an escaped comma with this middle dot, but I should have replaced both the escape and the comma.

Thanks @mfmeulenbelt!

With Picard 2.7b1 it has become easier to work with Unicode characters. If you now the unicode hex code for the character you can enter it with \uXXXX. So the middle dot could be added with \u00b7.

This is especially useful for characters that are hard to type or even are invisible, such as special spaces or even control characters.

4 Likes