On Friday, 4 November 2016 3:00 AM, Akihiro Sagawa wrote:
I have questions. How DBCS characters is rendered with our implementation? Do they use double columns, or single column? AFAIK, on native Western console, all characters are rendered in a single column and Kanji is shown as a white square box. However, in Japanese locale, Kanji uses two columns (as described in the previous mail).
IMHO, wineconsole should have two mode: SBCS mode and DBCS one. The mode depends on console codepage. As a workaround for Western font issue, I suggest wineconsole uses tmAvgCharWidth for cell width and ignores (or replaces) full-width characters by using GetCharacterType and C3_FULLWIDTH *only* for SBCS locales. So, this will be the first step of SBCS mode.
Sorry for the delayed reply.
Wineconsole currently renders a standard grid. The default configuration is 80 single columns with 25 rows. One character is rendered per column. Kanji is shown as either a white box or a question mark, depending on the codepage and the font used.
I agree that wineconsole should have two modes, but I'm not sure we need special handling for full width characters in Western locales. Actually, I'm interested to find out how many full-width characters are in SBCS locales.
How can we know whether a DBCS character needs one or two cells for rendering?
We may also want to consider dropping support for the (n)curses backend as part of a broader wineconsole update.