Bug 128674 - MSI with Simplified Chinese interface fallbacks to ugly "System" bitmap font
Summary: MSI with Simplified Chinese interface fallbacks to ugly "System" bitmap font
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Installation (show other bugs)
Version:
(earliest affected)
6.3.3.2 release
Hardware: All All
: medium normal
Assignee: Ming Hua
URL:
Whiteboard: target:7.0.0 target:6.4.4
Keywords:
Depends on:
Blocks: Installer-Windows
  Show dependency treegraph
 
Reported: 2019-11-08 15:10 UTC by Volga
Modified: 2020-05-15 07:25 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
My screenshot (34.63 KB, image/png)
2019-11-08 15:16 UTC, Volga
Details
Font file (2.20 KB, application/x-7z-compressed)
2019-11-08 15:18 UTC, Volga
Details
Screenshot of the dialog when installation is in progress (27.15 KB, image/png)
2019-11-22 08:48 UTC, Ming Hua
Details
Comparison between screenshots of 6.4.3 and 6.4.4 RC1 (76.44 KB, image/png)
2020-05-02 16:13 UTC, Ming Hua
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Volga 2019-11-08 15:10:47 UTC
Description:
LibreOffice's MSI package now uses Segoe UI for many texts of interface, but some pieces of text uses "System" font, this collocation with scalable font and bitmap font makes the interface awful, it would be nice if the MSI package using Segoe UI for all texts.

Steps to Reproduce:
1. Open LibreOffice_6.3.3_Win_x64.msi

Actual Results:
See my snapshot

Expected Results:
-


Reproducible: Always


User Profile Reset: No



Additional Info:
版本: 6.3.3.2 (x64)
Build ID: a64200df03143b798afd1ec74a12ab50359878ed
CPU 线程: 4; 操作系统: Windows 10.0; UI 渲染: 默认; VCL: win; 
区域语言: zh-CN (zh_CN); UI 语言: zh-CN
Calc: threaded
Comment 1 Volga 2019-11-08 15:16:26 UTC
Created attachment 155638 [details]
My screenshot

This is my snapshot during installation. Note on my computer, the interface is using Micrisoft YaHei for Chinese text, this is specified by a Windows Registry item at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink (see bug 113007).
Comment 2 Volga 2019-11-08 15:18:09 UTC
Created attachment 155639 [details]
Font file

This is the "System" font.
Comment 3 Ming Hua 2019-11-08 15:46:45 UTC
I've been seeing the same problem.  As far as I can remember it started with 6.3 series.
Comment 4 Ming Hua 2019-11-22 08:48:54 UTC
Created attachment 156027 [details]
Screenshot of the dialog when installation is in progress

Still reproducible in 6.4.0 beta1.  Attached is one more screenshot, of the dialog when installation is in progress (the dialog after reporter's screenshot), with the ugly font.
Comment 5 Ming Hua 2019-12-11 23:52:17 UTC
The font change was made as a fix for bug 99891.
Comment 6 Roman Kuznetsov 2019-12-12 13:13:27 UTC
For now Windows installer is using only Segoe UI in all places

https://opengrok.libreoffice.org/xref/core/instsetoo_native/inc_openoffice/windows/msi_templates/TextStyl.idt?r=d8932ff5

Possibly the Segoe UI just doesn't have ieroglyphs?
Comment 7 Mike Kaganski 2019-12-13 07:16:03 UTC
Segoe UI is the recommended font for Latin, Greek, Cyrillic, and Arabic scripts, but does not include Chinese characters, as well as some other sets [1]. We have several options here.

1. Revert the change that introduced Segoe UI. This would bring Tahoma back. I don't think it's a good change.
2. Make the font used in TextStyle table [2] part of localizable strings. So Chinese Simplified localization team could change "Segoe UI" to, say, "Microsoft YaHei". Pro: single-place change affecting all places.
3. Pre-populate all the recommended fonts to the TextStyle table (so that it contains not the single "DialogDefault" entry, but also "DialogDefaultJaJp" etc), and let localization teams translate all the strings containing "{&DialogHeading}Welcome to the Installation Wizard for [ProductName]" into "{&DialogHeadingJaJp}...". Pro: some places could not need the change -> flexibility. But change in every such string is needed.

Personally I'd prefer #2 - but I honestly don't know how all the installer dialogs should look like, and what those fonts contain, so no idea e.g. how "LibreOffice" string with Latin characters would look like using those fonts recommended for e.g. Chinese Simplified.

[1] https://docs.microsoft.com/en-us/windows/win32/uxguide/vis-fonts
[2] https://opengrok.libreoffice.org/xref/core/instsetoo_native/inc_openoffice/windows/msi_templates/TextStyl.idt?r=d8932ff5
Comment 8 Mike Kaganski 2019-12-13 08:13:13 UTC
(In reply to Mike Kaganski from comment #7)

#2 should be done automatically. TODO: make the TextStyl.idt use a variable for font face (and possibly for size, too - needs checking if some locales also need different font size in the dialog); and change locale transform generation to include the changes to the TextStyle table with locale-specific values of the said variables (some "locale->font properties" mapping needed).
Comment 9 Ming Hua 2019-12-14 05:57:31 UTC
Roman and Mike, thanks for looking into this issue.

I don't know a lot about fonts, but according to my Windows 10 font preview tool, *neither* Segoe UI *or* Tahoma contains Chinese glyphs.  My speculation is this bug is caused by the font size change from 8 to 9 rather than the font family change.

Mike's suggestion #2 sounds very reasonable and gives every l10n team more power to choose the look they prefer for their MSI installer.  For simplified Chinese specifically, Microsoft Yahei has a very good set of Latin glyphs, so it would be an excellent choice.  But I know some other fonts that don't contain Latin glyphs, so using them probably needs more effort.
Comment 10 Ming Hua 2020-05-02 16:13:46 UTC
Created attachment 160227 [details]
Comparison between screenshots of 6.4.3 and 6.4.4 RC1

I think I found the culprit of this bug, as well as the reason why it seems to be only bothering the zh-CN users.

While doing translation work a while ago, I came across this string for the MSI interface:
https://translations.documentfoundation.org/translate/libo_ui-6-4/instsetoo_nativeinc_openofficewindowsmsi_languages/zh_Hans/?checksum=afa580eb631a7395#history
Look at the "History" tab at the bottom and you'll see the simplified Chinese translation had "{&Tahoma8}" at the start of the translation string.  I am new to LO's translation work and don't know why it's there.

But obviously it may be interfering with MSI's font selection, so I deleted that part from the translation, and waited for the change to make its way into a release.

Now that 6.4.4 RC1 which contains this change has been released, I tried it and the font is pretty again.  See the comparison with 6.4.3 in the attached screenshot.

I'll go through the zh-CN translation and get rid of all these spurious font specifications.
Comment 11 Xisco Faulí 2020-05-04 09:26:40 UTC
@Eike, @Sophie, I thought you might be interested in comment 10
Comment 12 Roman Kuznetsov 2020-05-04 12:15:32 UTC
(In reply to Ming Hua from comment #10)
> Created attachment 160227 [details]
> Comparison between screenshots of 6.4.3 and 6.4.4 RC1
> 
> I think I found the culprit of this bug, as well as the reason why it seems
> to be only bothering the zh-CN users.
> 
> While doing translation work a while ago, I came across this string for the
> MSI interface:
> https://translations.documentfoundation.org/translate/libo_ui-6-4/
> instsetoo_nativeinc_openofficewindowsmsi_languages/zh_Hans/
> ?checksum=afa580eb631a7395#history
> Look at the "History" tab at the bottom and you'll see the simplified
> Chinese translation had "{&Tahoma8}" at the start of the translation string.
> I am new to LO's translation work and don't know why it's there.
> 
> But obviously it may be interfering with MSI's font selection, so I deleted
> that part from the translation, and waited for the change to make its way
> into a release.
> 
> Now that 6.4.4 RC1 which contains this change has been released, I tried it
> and the font is pretty again.  See the comparison with 6.4.3 in the attached
> screenshot.
> 
> I'll go through the zh-CN translation and get rid of all these spurious font
> specifications.

All old strings with {&Tahoma8} now have another "{&_font_}" linked with new fonts in the installer and should be retranslate