Re: qemu and Unicode characters on serial console

2021-03-16 Thread Peter Maydell
On Tue, 16 Mar 2021 at 21:08, Francois  wrote:
> It really looks like it has nothing to do with qemu, it is just the
> way it was coded :D

Yep; in general QEMU's serial and similar character-device
functionality is just a raw stream-of-bytes -- it's up to the
guest software what it puts in there and up to the software on
the outside how it interprets what it gets...

-- PMM



Re: qemu and Unicode characters on serial console

2021-03-16 Thread Francois
Thanks for your reply!
I tee-ed the output into a file and it is really a "?" character
coming out of the serial port.

Now, checking the code:
https://github.com/tianocore/edk2/blob/master/EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOut.c#L484

```
CHAR8 *
EFIAPI
SafeUnicodeStrToAsciiStr (
...
if (*Source < 0x80) {
*Destination = (CHAR8) *Source;
} else {
*Destination = '?';
```

It really looks like it has nothing to do with qemu, it is just the
way it was coded :D

Cheers

On Tue, 16 Mar 2021 at 21:29, Jakob Bohm  wrote:
>
> On 2021-03-14 11:10, Francois wrote:
> > Hi qemu! I am wondering if it is possible to get Unicode support
> > through a stdio, or pty, serial console.
> > I am running qemu from CentOS stream
> > qemu-kvm-core-4.2.0-35.module_el8.4.0+547+a85d02ba.x86_64
> > My terminal and locale use UTF-8.
> > I am booting into the OVMF boot menu below, that lets me change the
> > language to French, however characters like é è ç are badly rendered.
> > I would expect the UEFI shell "edit" command to support unicode
> > characters but I cannot test this either.
> > My goal is to use Unicode characters in the boot entries (or "options
> > de bottes" as it is funnily translated today) so they look nice.
> >
> > ```
> > /usr/libexec/qemu-kvm \
> > -m 512M \
> > -net none \
> > -machine q35 \
> > -pflash ./OVMF_CODE.secboot.fd \
> > -pflash ./OVMF_VARS.fd \
> > -serial stdio \
> > -debugcon file:debug.log -global isa-debugcon.iobase=0x402
> > ```
> >
> > Cheers
> >
> You need to consider which character encoding the UEFI BIOS code
> assumes for the serial port.
>
> Obvious possibilities that could all be used with French:
>
> 1. UTF-8
> 2. ISO8859-1
> 3. ISO8859-15 (same as -1, except the code for the Euro symbol)
> 4. MS1252 (Same as -1, but extra characters, including the Euro
>symbol on an unused number)
> 5. IBM 437 (Used by the oldest IBM BIOS)
> 6. IBM 850 (Fewer graphics characters for menus, more accented
>letters)
>
> If the UEFI BIOS uses one of these, but the software processing
> the serial output uses a different one, the result is very ugly
> MojiBake.
>
> Enjoy
>
> Jakob
> --
> Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
> Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
> This public discussion message is non-binding and may contain errors.
> WiseMo - Remote Service Management for PCs, Phones and Embedded
>
>



Re: qemu and Unicode characters on serial console

2021-03-16 Thread Jakob Bohm

On 2021-03-14 11:10, Francois wrote:

Hi qemu! I am wondering if it is possible to get Unicode support
through a stdio, or pty, serial console.
I am running qemu from CentOS stream
qemu-kvm-core-4.2.0-35.module_el8.4.0+547+a85d02ba.x86_64
My terminal and locale use UTF-8.
I am booting into the OVMF boot menu below, that lets me change the
language to French, however characters like é è ç are badly rendered.
I would expect the UEFI shell "edit" command to support unicode
characters but I cannot test this either.
My goal is to use Unicode characters in the boot entries (or "options
de bottes" as it is funnily translated today) so they look nice.

```
/usr/libexec/qemu-kvm \
-m 512M \
-net none \
-machine q35 \
-pflash ./OVMF_CODE.secboot.fd \
-pflash ./OVMF_VARS.fd \
-serial stdio \
-debugcon file:debug.log -global isa-debugcon.iobase=0x402
```

Cheers


You need to consider which character encoding the UEFI BIOS code
assumes for the serial port.

Obvious possibilities that could all be used with French:

1. UTF-8
2. ISO8859-1
3. ISO8859-15 (same as -1, except the code for the Euro symbol)
4. MS1252 (Same as -1, but extra characters, including the Euro
  symbol on an unused number)
5. IBM 437 (Used by the oldest IBM BIOS)
6. IBM 850 (Fewer graphics characters for menus, more accented
  letters)

If the UEFI BIOS uses one of these, but the software processing
the serial output uses a different one, the result is very ugly
MojiBake.

Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded




qemu and Unicode characters on serial console

2021-03-14 Thread Francois
Hi qemu! I am wondering if it is possible to get Unicode support
through a stdio, or pty, serial console.
I am running qemu from CentOS stream
qemu-kvm-core-4.2.0-35.module_el8.4.0+547+a85d02ba.x86_64
My terminal and locale use UTF-8.
I am booting into the OVMF boot menu below, that lets me change the
language to French, however characters like é è ç are badly rendered.
I would expect the UEFI shell "edit" command to support unicode
characters but I cannot test this either.
My goal is to use Unicode characters in the boot entries (or "options
de bottes" as it is funnily translated today) so they look nice.

```
/usr/libexec/qemu-kvm \
-m 512M \
-net none \
-machine q35 \
-pflash ./OVMF_CODE.secboot.fd \
-pflash ./OVMF_VARS.fd \
-serial stdio \
-debugcon file:debug.log -global isa-debugcon.iobase=0x402
```

Cheers