Noto CJK VF Magisk Save

A magisk module to install Noto CJK Variable font for Android.

Project README

Noto CJK VF Magisk

A module replace CJK fonts to Noto CJK Variable.

Sister module: Source-Han-VF-Magisk

Requirement

Android 8.0 and above. 9.0 for serif support.

Advantage

Compare to normal super OTC version, only 38.9MB for all weight.

notocjk Magisk Module Differences

This module inculdes demi-light weight that Android developers won't use. Because Roboto (Default font of Latin characters on Android) doesn't have this weight.

notocjk use Noto Serif CJK subset to avoid GitHub file size limit of single file. This module split it as two part.

Try variable

Variable Font Test App Preview

Font

Both font had been modified with subset_noto_cjk.py. And add chws feature with kojiishi/east_asian_spacing: OpenType East Asian Contextual Spacing Build Tools.

Noto Sans CJK VF download

noto-cjk/Sans/Variable at main · googlefonts/noto-cjk

Noto Serif CJK VF download

noto-cjk/Serif/Variable at main · googlefonts/noto-cjk

wght value

Tools: googlefonts/fonttools: A library to manipulate font files from Python. See also: fvar — Font Variations Table (OpenType 1.8.4) - Typography | Microsoft Docs

# SC as a example. They were same.
ttx -y 3 -t fvar NotoSansCJK-VF.ttc
  <fvar>

    <!-- Weight -->
    <Axis>
      <AxisTag>wght</AxisTag>
      <Flags>0x0</Flags>
      <MinValue>100.0</MinValue>
      <DefaultValue>100.0</DefaultValue>
      <MaxValue>900.0</MaxValue>
      <AxisNameID>265</AxisNameID>
    </Axis>

    <!-- Thin -->
    <!-- PostScript: NotoSansCJKscVF-Thin -->
    <NamedInstance flags="0x0" postscriptNameID="267" subfamilyNameID="266">
      <coord axis="wght" value="100.0"/>
    </NamedInstance>

    <!-- Light -->
    <!-- PostScript: NotoSansCJKscVF-Light -->
    <NamedInstance flags="0x0" postscriptNameID="269" subfamilyNameID="268">
      <coord axis="wght" value="300.0"/>
    </NamedInstance>

    <!-- DemiLight -->
    <!-- PostScript: NotoSansCJKscVF-DemiLight -->
    <NamedInstance flags="0x0" postscriptNameID="271" subfamilyNameID="270">
      <coord axis="wght" value="350.0"/>
    </NamedInstance>

    <!-- Regular -->
    <!-- PostScript: NotoSansCJKscVF-Regular -->
    <NamedInstance flags="0x0" postscriptNameID="273" subfamilyNameID="272">
      <coord axis="wght" value="400.0"/>
    </NamedInstance>

    <!-- Medium -->
    <!-- PostScript: NotoSansCJKscVF-Medium -->
    <NamedInstance flags="0x0" postscriptNameID="275" subfamilyNameID="274">
      <coord axis="wght" value="500.0"/>
    </NamedInstance>

    <!-- Bold -->
    <!-- PostScript: NotoSansCJKscVF-Bold -->
    <NamedInstance flags="0x0" postscriptNameID="277" subfamilyNameID="276">
      <coord axis="wght" value="700.0"/>
    </NamedInstance>

    <!-- Black -->
    <!-- PostScript: NotoSansCJKscVF-Black -->
    <NamedInstance flags="0x0" postscriptNameID="279" subfamilyNameID="278">
      <coord axis="wght" value="900.0"/>
    </NamedInstance>
  </fvar>
Open Source Agenda is not affiliated with "Noto CJK VF Magisk" Project. README Source: WordlessEcho/Noto-CJK-VF-Magisk
Stars
52
Open Issues
1
Last Commit
2 years ago
License

Open Source Agenda Badge

Open Source Agenda Rating