From Fedora Project Wiki
m (trivial update)
(Add contingency plan)
Line 203: Line 203:


<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: (What to do?  Who will do it?) N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency mechanism: (What to do?  Who will do it?) revert all of changes in packages and comps <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency deadline: Beta freeze <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No
* Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next -->
<!-- * Blocks product? product --><!-- Applicable for Changes that blocks specific product release/Fedora.next -->


== Documentation ==
== Documentation ==

Revision as of 10:16, 16 June 2018


CJK Default Fonts To Noto

Summary

Changes the default fonts for CJK to Google Noto.

Owner

Current status

  • Targeted release: Fedora 29
  • Last updated: 2018-06-16
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

This proposal is to change the default fonts for CJK to Google Noto. typefaces and the size consumptions will be changed as the follow:

Language Sans-serif Serif Monospace
ja VL Gothic -> Noto Sans CJK JP (No default serif) -> Noto Serif CJK JP VL Gothic -> Noto Sans Mono CJK JP
ko NanumGothic -> Noto Sans CJK KR (No default serif) -> Noto Serif CJK KR (No default monospace) -> Noto Sans Mono CJK KR
zh-CN Source Han Sans CN -> Noto Sans CJK SC Source Han Serif CN -> Noto Serif CJK SC Source Han Sans CN -> Noto Sans Mono CJK SC
zh-TW Source Han Sans TW -> Noto Sans CJK TC Source Han Serif TW -> Noto Serif CJK TC Source Han Sans TW -> Noto Sans Mono CJK TC

Note that all CJK fonts will be unified into one OpenType collection format file per weight-variants so there are no detailed estimation for f29. all of CJK languages' fonts will be covered by one package. the size consumptions are figured out from the font file size:

\ ja ko zh-CN zh-TW Total
f28 3.9M 13.8M 133.1M 77.4M 228.2M
f29 - - - - 288M

Benefit to Fedora

This change will provides better quality of rendering for all of CJK characters. we will have default serif and monospace fonts for Japanese and Korean and keep consistensies in look among those typefaces.


Scope

  • Proposal owners:
    • Update packages with the proper priority of fontconfig config files.
    • Update fonts group in comps
  • Other developers: N/A (not a System Wide Change)
  • Policies and guidelines: N/A
  • Trademark approval: N/A

Upgrade/compatibility impact

This change will be done by installing the updated packages. no need to update/modify any configuration files by the hand. the sort of this change may has the objective preference. they can revert this by uninstalling font packages like this:

# dnf uninstall google-noto-sans-cjk-ttc-fonts google-noto-serif-cjk-ttc-fonts


How To Test

  • Check if the default font is changed to Noto:
    • ja
      • LANG=ja_JP.UTF-8 fc-match sans-serif
      • LANG=ja_JP.UTF-8 fc-match serif
      • LANG=ja_JP.UTF-8 fc-match monospace
    • ko
      • LANG=ko_KR.UTF-8 fc-match sans-serif
      • LANG=ko_KR.UTF-8 fc-match serif
      • LANG=ko_KR.UTF-8 fc-match monospace
    • zh-cn
      • LANG=zh_CN.UTF-8 fc-match sans-serif
      • LANG=zh_CN.UTF-8 fc-match serif
      • LANG=zh_CN.UTF-8 fc-match monospace
    • zh-tw
      • LANG=zh_TW.UTF-8 fc-match sans-serif
      • LANG=zh_TW.UTF-8 fc-match serif
      • LANG=zh_TW.UTF-8 fc-match monospace
  • Check applications if they render CJK characters with the expected fonts
    • GTK+ apps like gedit, gnome-terminal
    • Qt apps like kate, konsole
    • X/Xft apps like xterm
    • Others like LibreOffice, firefox...


User Experience

Users will see better quality of rendering for CJK characters on applications and on desktops.


Dependencies

N/A

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) revert all of changes in packages and comps
  • Contingency deadline: Beta freeze
  • Blocks release? No

Documentation

N/A (not a System Wide Change)

Release Notes