OpenBVE displays all non-ASCII characters as squares

Bug #503759 reported by Xhacker Liu
34
This bug affects 7 people
Affects Status Importance Assigned to Milestone
mono
Unknown
Unknown
libgdiplus (Ubuntu)
New
Undecided
Unassigned
Declined for Karmic by Paul Sladen
Lucid
New
Undecided
Unassigned
mono (Ubuntu)
New
Undecided
Unassigned
Declined for Karmic by Paul Sladen
Lucid
New
Undecided
Unassigned
openbve (Ubuntu)
Confirmed
Medium
Unassigned
Declined for Karmic by Paul Sladen
Lucid
Confirmed
Medium
Unassigned
thaifonts-scalable (Ubuntu)
New
Undecided
Unassigned
Declined for Karmic by Paul Sladen
Lucid
New
Undecided
Unassigned

Bug Description

Binary package hint: openbve

Openbve displays Chinese characters as squares.

Both Lucid and Karmic's OpenBVE have this bug.

Revision history for this message
Xhacker Liu (xhacker) wrote :
Revision history for this message
Paul Sladen (sladen) wrote :

There's definitely something a-miss with font handling; in the game, the menu arrows are displayed as squares too.

The selection of the incorrect font is also causing the forms to be stretched vertically. It's as though a specific CJK font is being picked by openbve or Mono, but this specific font doesn't have the necessary range of glyphs.

summary: - OpenBVE displays Chinese characters as squares
+ OpenBVE displays all non-ASCII characters as squares
Changed in openbve (Ubuntu):
importance: Undecided → Medium
milestone: none → ubuntu-10.04
status: New → Confirmed
Revision history for this message
Paul Sladen (sladen) wrote :

This is something to do with default font/glyph substitution, but it's only showing up in Mono applications. I raised it as being in libgdiplus upstream, but it appears to have a lower level (cairo, pango, fontconfig...).

Revision history for this message
Xhacker Liu (xhacker) wrote :

How's going on with this bug?

Revision history for this message
Xhacker Liu (xhacker) wrote :

Any progress?

Revision history for this message
Paul Sladen (sladen) wrote :

I haven't made progress, no. It needs working downwards in the stack layer by layer, and discovering the point at which font substitution doesn't happen.

Revision history for this message
Xhacker Liu (xhacker) wrote :

So how to fix it before Lucid release?

Steve Langasek (vorlon)
Changed in openbve (Ubuntu Lucid):
milestone: ubuntu-10.04 → lucid-updates
Revision history for this message
Jan Lillelund (jan-lillelund) wrote :

Danish national characters ÆæØøÅå are also displayed as squares in Mono. There is definitely something amiss in the font handling somewhere. Running on Lucid Lynx, 10.04

Revision history for this message
Paul Sladen (sladen) wrote :

Jan: do you have another application/test case that is showing the squared font-rendering (other than Openbve).

Revision history for this message
cablop (cablop) wrote :

somebody said this bug is related to a config in /etc/fonts/conf.avail/89-ttf-thai-tlwg-synthetic.conf file, but that's not true. I does not have that package in my system and the not substitution problem appears.

A way to test that is to open an application like KeePass 2.x with some CJK characters in entries, all of them are being shown as empty squares.

Revision history for this message
Paul Sladen (sladen) wrote :

cablop: what is happening here is/was that the Thai fonts package was "stealing" (claiming) a generic font name, which happens to be the generic font name ("Microsoft Sans Serif") that Mono specifically requests.

If there are any other font packages installed with request the same substitution then you will see the same results with those.

What is happening is that (an unknown) font is requesting the diversion of /everything/ to itself, but then it doesn't have the glyph coverage in order to cover the diversion, and so boxes are displayed, that is still happening for some reason with CJK. Bug #539008, comment #12 on the other bug report notes this.

Revision history for this message
cablop (cablop) wrote :

Sorry, Paul, this is not what is happening, i was running those applicatrions from the command lie and i found that is says the c library does not support the locale and revert to the default c locale... and this is ansi, this is what is happening with mono on ubuntu, as far as i can see. This is not a font claimming that locale, and not the thai one (because i don have it installed, and it is supposedly fixed in 10.10).

A way to test it. Download the portable KeePass 2. Run it via "mono KeePass.exe" from a terminal and see what happens.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.