Вы устранили проблему, выполнив
Font.Charset:= SHIFTJIS_CHARSET;
Альтернативный вариант:
Вы можете использовать событие OnPrint
печатаемого номера и добавить префикс ¥
.символ.
Примерно так:
procedure TForm1.QRDBAnAmountPrint(sender: TObject; var Value: string);
begin
//If the number doesn't have a currency symbol.
Value:= '¥ '+Value;
//If the number does have a currency symbol
Value:= StringReplace(Value, "textforwrongsymbol", "¥");
end;