Page 1 of 1

Why the font display

Posted: Fri Mar 29, 2019 10:47 am
by hedyhan
I want to change my default Simplified Chinese Font to "Source Han Sans CN", but in the output of PDF, the partial of characters does not to be displayed.

I change the font-mappings.xml file, the relevant codes like below:

<logical-font name="Serif">
<physical-font char-set="Source Han Sans CN">
<font-face>Source Han Sans CN, Times New Roman, Times, Arial Unicode MS, Tahoma, Batang, SimSun</font-face>
</physical-font>
<physical-font char-set="Simplified Chinese">
<font-face>Source Han Sans CN, Microsoft YaHei, AdobeSongStd-Light, Arial Unicode MS, Batang, SimSun</font-face>
</physical-font>

Can anyone give me a help?

Re: Why the font display

Posted: Fri Mar 29, 2019 4:37 pm
by Radu
Hi,

Have you set the xml:lang attribute to "ch" on all the topics and maps?
Do your changes seem to work at all? For example do they work for the body of text but not for the titles?
Maybe you should perform the same changes on the "<logical-font name="Sans">" and "<logical-font name="Monospaced">" logical font definitions.

Regards,
Radu

Re: Why the font display

Posted: Tue Apr 02, 2019 10:13 am
by hedyhan
Radu wrote: Fri Mar 29, 2019 4:37 pm Hi,

Have you set the xml:lang attribute to "ch" on all the topics and maps?
Do your changes seem to work at all? For example do they work for the body of text but not for the titles?
Maybe you should perform the same changes on the "<logical-font name="Sans">" and "<logical-font name="Monospaced">" logical font definitions.

Regards,
Radu
Yes, the above two operations I have done, but it still cannot solve the problem.

Re: Why the font display

Posted: Tue Apr 02, 2019 2:29 pm
by Radu
Hi,

About my previous suggestion:
Have you set the xml:lang attribute to "ch" on all the topics and maps?
Actually the language XML attribute needs to be set to xml:lang=zh-CN" on all the root elements from all DITA maps and topics. Can you do that and try again?

If that does not work:
What Oxygen version are you using?
Are you publishing using Oxygen's bundled DITA Open Toolkit or a custom DITA Open Toolkit installation?
For example Oxygen 21 comes bundled with DITA OT 3.2.1 which uses SimSun as the default font used for Chinese content in the font-mappings.xml:

Code: Select all

<font-mappings>
<font-table>

<!-- Backwards compatibility aliases -->
<aliases>
<alias name="serif">Serif</alias>
</aliases>
<aliases>
<alias name="sans-serif">Sans</alias>
</aliases>
<aliases>
<alias name="monospace">Monospaced</alias>
</aliases>
<aliases>
<alias name="Helvetica">Normal</alias>
</aliases>
<aliases>
<alias name="Courier">Monospaced</alias>
</aliases>

<logical-font name="Sans">
<physical-font char-set="default">
<font-face>Helvetica, Arial Unicode MS, Tahoma, Batang, SimSun</font-face>
</physical-font>
<physical-font char-set="Simplified Chinese">
<font-face>AdobeSongStd-Light, Arial Unicode MS, Batang, SimSun</font-face>
</physical-font>
<physical-font char-set="Japanese">
<font-face>KozMinProVI-Regular, Arial Unicode MS, Batang</font-face>
</physical-font>
<physical-font char-set="Korean">
<font-face>AdobeMyungjoStd-Medium, Arial Unicode MS, Batang</font-face>
</physical-font>
<physical-font char-set="Symbols">
<font-face>ZapfDingbats</font-face>
</physical-font>
<physical-font char-set="SubmenuSymbol">
<font-face>ZapfDingbats</font-face>
</physical-font>
<physical-font char-set="SymbolsSuperscript">
<font-face>Helvetica, Arial Unicode MS</font-face>
<baseline-shift>20%</baseline-shift>
<override-size>smaller</override-size>
</physical-font>
</logical-font>

<logical-font name="Serif">
<physical-font char-set="default">
<font-face>Times New Roman, Times, Arial Unicode MS, Tahoma, Batang, SimSun</font-face>
</physical-font>
<physical-font char-set="Simplified Chinese">
<font-face>AdobeSongStd-Light, Arial Unicode MS, Batang, SimSun</font-face>
</physical-font>
<physical-font char-set="Japanese">
<font-face>KozMinProVI-Regular, Arial Unicode MS, Batang</font-face>
</physical-font>
<physical-font char-set="Korean">
<font-face>AdobeMyungjoStd-Medium, Arial Unicode MS, Batang</font-face>
</physical-font>
<physical-font char-set="Symbols">
<font-face>ZapfDingbats</font-face>
</physical-font>
<physical-font char-set="SubmenuSymbol">
<font-face>ZapfDingbats</font-face>
</physical-font>
<physical-font char-set="SymbolsSuperscript">
<font-face>Times New Roman, Times, Arial Unicode MS, Tahoma, Batang</font-face>
<baseline-shift>20%</baseline-shift>
<override-size>smaller</override-size>
</physical-font>
</logical-font>

<logical-font name="Monospaced">
<physical-font char-set="default">
<font-face>Courier New, Courier, Arial Unicode MS, Tahoma, Batang, SimSun</font-face>
</physical-font>
<physical-font char-set="Simplified Chinese">
<font-face>AdobeSongStd-Light, Arial Unicode MS, Batang, SimSun</font-face>
</physical-font>
<physical-font char-set="Japanese">
<font-face>KozMinProVI-Regular, Arial Unicode MS, Batang</font-face>
</physical-font>
<physical-font char-set="Korean">
<font-face>AdobeMyungjoStd-Medium, Arial Unicode MS, Batang</font-face>
</physical-font>
<physical-font char-set="Symbols">
<font-face>ZapfDingbats</font-face>
</physical-font>
<physical-font char-set="SymbolsSuperscript">
<font-face>Courier New, Courier, Arial Unicode MS, Tahoma, Batang</font-face>
<baseline-shift>20%</baseline-shift>
<override-size>smaller</override-size>
</physical-font>
</logical-font>
</font-table>

</font-mappings>
and such a mapping works for me out of the box to display Chinese characters.

Regards,
Radu

Re: Why the font display

Posted: Wed Apr 10, 2019 10:30 am
by hedyhan
Hi ,

Thanks for your reply.

In your example, why do you say " SimSun as the default font used for Chinese content" ? Why not Arial Unicode MS? how to identify?

Re: Why the font display

Posted: Thu Apr 11, 2019 1:31 pm
by Radu
Hi,

I think I expressed this wrong. If you specify a font face like this:

Code: Select all

<font-face>Helvetica, Arial Unicode MS, Tahoma, Batang, SimSun</font-face>
it means that all these fonts are used as fallbacks, iterated from left to right.
So if the PDF processor wants to display a certain character, if "Helvetica" supports it then it is used, otherwise the next font is tested and so on. So in this case "SimSun" is the last fallback font, used only when the fonts before it cannot be used to render a certain character.

Regards,
Radu