browser-vm icon indicating copy to clipboard operation
browser-vm copied to clipboard

How to enable Unicode?

Open mrled opened this issue 3 years ago • 1 comments

Hello,

Thanks for this project, it's really useful. I'm using it for a little fortune demo over at https://unfortunate.micahrl.com

Do you know how to support Unicode characters in the terminal? Right now when the terminal shows Unicode characters, they are very garbled. One way to test is by typing this, which will get a Euro symbol if Unicode is being displayed properly: echo -e '\xe2\x82\xac' . When I enter that into the terminal on my Mac, I get a Euro symbol as expected. When I enter it into the terminal at https://humphd.github.io/browser-shell/, it comes out garbled.

I've tried building this myself with your Dockerfile and it comes out garbled in my build as well. I've tried to make a few changes too:

  • Added the locales package via apt to your Dockerfile, and ran sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen; locale-gen;
  • Added BR2_TOOLCHAIN_BUILDROOT_LOCALE=y and BR2_ENABLE_LOCALE_WHITELIST="C en_US en_US.UTF-8" to the buildroot config
  • Created a custom busybox configuration with make busybox-menuconfig and setting CONFIG_UNICODE_SUPPORT=y, CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y, CONFIG_UNICODE_COMBINING_WCHARS=y, CONFIG_UNICODE_WIDE_WCHARS=y, CONFIG_UNICODE_BIDI_SUPPORT=y, CONFIG_UNICODE_NEUTRAL_TABLE=y, CONFIG_UNICODE_PRESERVE_BROKEN=y.

However, it still gives wrong output for Unicode symbols.

Do you know how to enable Unicode properly? Any help appreciated

For the record, here's what the incorrect output looks like in my image via the serial port (using xterm.js copied from v86). I get something similar over the video console, and on your demo at https://humphd.github.io/browser-shell/.

Screen Shot 2021-10-25 at 15 00 08 .

mrled avatar Oct 25 '21 20:10 mrled

@mrled glad you're finding it useful.

I wish I could tell you what to do in order to enable this. It's been years since I was deep into buildroot, and this repo reflects everything I know. Everything I did with this repo to make my particular use case work felt like prodding in the dark and being frustrated for weeks, until it finally, magically worked.

I would see if you can get help from the buildroot community, since the answer will be along the lines of what you're doing above, I'm sure.

Sorry I'm not more helpful. Maybe someone else watching this will be able to provide insight.

humphd avatar Oct 26 '21 13:10 humphd