PSP-Archive / ARK-4

Custom Firmware for the PSP and PS Vita.
651 stars 42 forks source link

Chinese in the VSH menu does not display properly #327

Closed li-fstz closed 6 months ago

li-fstz commented 6 months ago

PSP/Vita Model

PSP-3000 (Slim & Bright)

ARK Version

4.20.68 r12

Homebrew/GAME (if applicable)

No response

Plugins ( if applicable )

No response

Steps to reproduce

  1. Choose 简体中文 in Settings - System Settings - System Language pic_0002
  2. Open VSH menu pic_0003

USB Charge

Always

Overclock

Always

Power Save

Disabled

Balanced Energy Mode

Disabled

Autoboot Launcher

Off

Disable PSP Go Pause

Off

Unlock Extra Memory

Disabled

Memory Stick Speedup

Always

Inferno Cache

LRU

Skip Sony Logos

Off

Hide PIC0 and PIC1

Off

Hide MAC Address

On

Hide DLC

Off

Turn off LEDs

Disabled

Verification of form.

JoseAaronLopezGarcia commented 6 months ago

As mentioned here: https://github.com/PSP-Archive/ARK-4/pull/300#issuecomment-2036973787

We need to create font files with chinese characters in the format that the font reader expects.

li-fstz commented 6 months ago

the code of drawing font is extras/menus/vshmenu/blit.c, only work for ascii (or any 8-bit encoding), so chinese cannot be read correctly in UTF-8 (japanese and korean also)

krazynez commented 6 months ago

the code of drawing font is extras/menus/vshmenu/blit.c, only work for ascii (or any 8-bit encoding), so chinese cannot be read correctly in UTF-8 (japanese and korean also)

should be in advancedvsh. vshmenu is the old menu we do not use. But avshmenu is very much based on that still so probably same issue applies. (More of and FYI)

li-fstz commented 6 months ago

the pf font only support 256 characters, it‘s unlikely to create a standard encoded chinese font

JoseAaronLopezGarcia commented 6 months ago

the code of drawing font is extras/menus/vshmenu/blit.c, only work for ascii (or any 8-bit encoding), so chinese cannot be read correctly in UTF-8 (japanese and korean also)

should be in advancedvsh. vshmenu is the old menu we do not use. But avshmenu is very much based on that still so probably same issue applies. (More of and FYI)

I renamed advancedvsh to vshmenu to keep it standarized with the others.

JoseAaronLopezGarcia commented 6 months ago

the code of drawing font is extras/menus/vshmenu/blit.c, only work for ascii (or any 8-bit encoding), so chinese cannot be read correctly in UTF-8 (japanese and korean also)

We do have the source code so we might be able to add UTF-8 support to it. Either that or maybe change to the intraFont library so we can load the native PSP fonts as we do in Custom Launcher.

li-fstz commented 6 months ago

makeing a couple specific encoding satelite_chs.txt and pf font maybe an acceptability idea? 256 may cover all characters in the chinese vsh menu

JoseAaronLopezGarcia commented 6 months ago

makeing a couple specific encoding satelite_chs.txt and pf font maybe an acceptability idea? 256 may cover all characters in the chinese vsh menu

So you mean to map ASCII characters to (common/needed) Chinese characters? We did something similar with the Greek translation in Custom Launcher. I couldn't get intraFont to display Greek characters (even though it should be able to) but I managed to overcome this by creating a special font that mapped Latin characters to Greek.

li-fstz commented 6 months ago

ascii cannot display chinese characters, so need a new arranged pf-font

li-fstz commented 6 months ago

the idea i'm talking about is more like a temporary solution, the specially satelite_chs.txt and pf-font are not convenient for updating. the solution you're talking about is more conducive to extend to other unsupported languages.

li-fstz commented 6 months ago

done i make a couple pf and txt, it's work

the pf look like: chs

pic_0006 pic_0007

JoseAaronLopezGarcia commented 6 months ago

Nice! Open a Pull Request and we will merge it.