mono / libgdiplus

C-based implementation of the GDI+ API
http://www.mono-project.com/
MIT License
334 stars 171 forks source link

Characters are missing when using Japanese on Windows Forms #627

Closed s520 closed 4 years ago

s520 commented 4 years ago

Steps to Reproduce

  1. Install the Japanese language related packages of the distribution.

  2. Change the system character set to Japanese.

    # localectl set-locale LANG=ja_JP.UTF-8
    # source /etc/locale.conf
  3. Execute the program using Windows Forms with Japanese displayed. Ex) winforms-test.zip

Current Behavior

Some characters are missing.

Expected Behavior

Characters are displayed normally as in Windows and Linux + libgdiplus 5.6.

On which platforms did you notice this

[ ] macOS [X] Linux [ ] Windows

Version Used:

mono: 6.8.0.105, libgdiplus: 6.0.4

Postscript

Not only me but also my friends have similar symptoms.

I am using fedora 30 and he is using Ubuntu 18.04.

He previously reported this problem to the mono repository.

Later he found that downgrading libgdiplus to 4.2 works fine.

So I decided to find out what version worked.

I downgraded mono to 5.18.1.3 and upgraded libgdiplus from 5.6 to 6.0.4.

As a result, it was normal until 5.6.1, but a problem has occurred since 6.0.2.

In addition, this problem seems to occur even in Chinese.

s520 commented 4 years ago

I went back to commits. It works fine until the next commit. https://github.com/mono/libgdiplus/commit/ce650952ee01dd139a44e0fc9a6ca3dca3923667

Characters disappear for the first time in the next commit. https://github.com/mono/libgdiplus/commit/4e974dca3c0efe4124177d4c79b73946e4e0cee5

s520 commented 4 years ago

I created a PR because I found a fix.