What method are you calling to print the text? Which font are you using?
gr.GdiDrawText. Segoe UI, and that font has the '&' character.
Here's my code for clarity:
var font = gdi.Font("Segoe UI", 12, 0);
var play_pause = fb.TitleFormat('$if(%ispaused%,❚❚,▶)');
var title = fb.TitleFormat('%title%');
var time1 = fb.TitleFormat('%playback_time%');
var time2 = fb.TitleFormat(' / %length%');
function on_playback_pause() {
window.Repaint();
}
function on_playback_new_track() {
window.Repaint();
}
function on_playback_seek() {
window.Repaint();
}
function on_library_items_changed() {
window.Repaint();
}
function on_playback_time() {
window.RepaintRect(213, 3, 85, 12);
}
function Color(r, g, b) {
return 0xFF000000 | r << 16 | g << 8 | b;
}
function on_paint(gr) {
var time_width = gr.CalcTextWidth(time1.Eval() + time2.Eval(), font);
gr.FillSolidRect(0, 0, 1000, 1000, Color(240,240,240));
gr.GdiDrawText(play_pause.Eval() + " " + title.Eval(), font, Color(0,0,0), 5, 1, 287 - time_width, 1000);
gr.GdiDrawText(time1.Eval() + time2.Eval(), font, Color(0,0,0), 297 - time_width, 1, 1000, 1000);
}