Chinese characters show unreadable square

Hi,

if there is no specific Chinese font, libreoffice will show unreadable square.

Or I have to say “Chinese characters are shown as unreadable squares when lacking a font”.

What should I do to solve the problem?

Thanks in advance.

Firstly, which operating system, version of LO, and component (e.g., Writer) are you using? There are several reasons why you may see the character placeholder (rectangle) instead of seeing the characters you desire.

Operating system support: It is not so much because there is “no specific Chinese font” but rather no font that the operating system recognises as having the character/s in question. Most modern operating systems support the display of Chinese characters by including a number of Chinese fonts. You may need to turn on foreign language support or install a foreign language option. Which fonts you have (or may be missing) and how to install them will depend upon your operating system.

LO support: You can turn on Enhanced language support and then select an appropriate Asian Language for documents. This has no effect on character display but does allow access to Basic Font (Asian) options. I am not 100% certain, but I believe even this second option will not really improve the font substitution capability, it merely gives you greater control over which font LO should use for certain types of content.

Font substitution: Even if a document does not include one of your installed fonts an equivalent font will attempt to be selected from those available on your system. By way of example, I can paste some Chinese text into a Writer document and it defaults to using the SimSun font as that is what I have specified as my Basic Font (Asian). If I edit the XML of that document (content.xml and styles.xml) and replace “SimSun” with the name of a font I do not have installed — “xyz” — the document will still display the characters using SimSun, although the font name displayed will be “xyz”.

Install a Unicode font: You can also (and probably should) install one or more fonts that support some of the more common languages of the world. This will give your operating system greater Unicode support if it does not already have it. The free fonts available from SIL are a good place to start.

EDIT: I forgot that the SIL fonts do not include Chinese. To make matters worse, free / open source Chinese fonts are incredibly scarce. There are three main ones: Zen Hai from Wen Quan Yi, TrueType versions of some of the Arphic fonts (via GNU), and an improved (FireflySung) version of the Arphic font. I couldn’t find that last one initially.

This might help: http://help.accusoft.com/PCC/v8.3/HTML/PCCIS_How%20to%20Install%20Asian%20Fonts%20on%20Red%20Hat%20and%20CentOS%20Linux%20Distributions.html

Thanks for all your help.

Now I clarify some information for the problem:

  1. OS:Red Hat Enterprise Linux Server release 6.1 (Santiago)
  2. LibreOffice Ver: latest 4.0
  3. Font needed: 楷体_GB2312

This is a pptx made by MS Office.

At the same time, I also try openoffice 3 to open the file. Openoffice works well. Openoffice may use a default Chinese font when lacking the 楷体_GB2312.

And if I change 楷体_GB2312 to 宋体 in MS Office。 Everything is OK.

Thanks again.


If there are some other fonts can not be found, LO will show the character placeholder (rectangle) again. Why LO can not take a response like OO, using a default font instead?

That is the KaiTi_GB2312 font from GreatWall Computer Co. More info: GreatWall Computer Co I am not sure why the substitution is not occurring for you. Oh, wait a sec, what does “$ locale -a” return? Do you have UTF-8 support turned on for your locale?

locale -a return a long list like: … wo_SN
wo_SN.utf8
xh_ZA
xh_ZA.iso88591
xh_ZA.utf8
yi_US
yi_US.cp1255
yi_US.utf8
yo_NG
yo_NG.utf8
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.big5hkscs
zh_HK.utf8
zh_SG
zh_SG.gb2312
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.big5
zh_TW.euctw
zh_TW.utf8
zu_ZA
zu_ZA.iso88591
zu_ZA.utf8

Wow. You should not have any problem in the locale department. According to the doco for RHEL5 the square boxes are a case of a missing font: https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/5/html-single/International_Language_Support_Guide/index.html#fonts

I think this is a GB2312 (楷体) vs UTF-8 (宋体) character encoding / font fallback issue. What does “$ fc-match -v ‘楷体_GB2312’ | grep ‘family|lang’” show? I get “DejaVu Sans” here. It could still be a GB2312 character encoding within OOXML issue though.

I get ’ family: “DejaVu Sans”(s)’ too. I still wanna know why Openoffice handle this question well. I also save the pptx to ppt, the problem remains.

@spidderqubit waves his karma wand – you now should have enough karma that you can upload files. Please upload your example file so that we can take a look at it.

@oweng – Please coordinate w/Spidder to file a bug if you’re seeing the same problem.

Thanks, guys :slight_smile:

As a follow-up this thread appears it may be related. We will need an example file though to be certain. An associated bug has been raised for that file encoding issue (under Linux).

@Spidder,

Sounds like you need to use or install a font that supports these (presumably) unicode characters.

Some information that would help us:

  • OS version
  • LibreOffice version
  • Font you’re currently using

There is a bug when displaying chinese character within the range of 超大字符集 even if you installed the supporting font.