Font rendering/Glyph issue with Noto Serif CJK SC on Web App

Hi everyone,

I’m typesetting my personal diary on the Typst web app and noticed that the Chinese character “允” renders abnormally when using the Noto Serif CJK SC font. However, the same code compiles correctly on my local machine. Here’s the minimal example:

#let font-list = (
  "Noto Serif CJK SC",
)

#set text(size: 32pt)

#for f in font-list [
  #f: 
  #text(
    font: f,
  )[允] \
]
Web App Local
webapp-result local-result

Both environments are using the same Typst version (0.15.0). I attempted to upload my local font file (/usr/share/fonts/opentype/noto/NotoSerifCJK-Regular.ttc) to the web app to force override the built-in one, but the file is too large to upload.

My questions are:

  1. Is this a known issue with the web app’s font rendering or its bundled font version?
  2. Is there any way to download the web app’s version of this font for comparison/debugging?

For reference, my local setup:

  • OS: Debian 13
  • Typst: typst 0.15.0 (3ae52774)
  • fonts-noto-cjk package version: 1:20240730+repack1-1

Any insights would be greatly appreciated. Thanks in advance!

This might be a known issue on GitHub:

Mapping error in CN for U+5141 (允) and U+535A (博)

After testing, the character “博” also exhibits the same glyph issue in the Typst web app.

This issue was already closed back in 2023. So I believe the problem in the web app is due to an outdated font.

So how can I resolve the rendering issue mentioned in the original post? Can the Typst web app administrators update the font?

1 Like

I can reproduce your descriptions about typst.app, even with set text(lang: "zh").
I suggest you forward it to Issues · typst/webapp-issues · GitHub.
(Related issue: Add variable versions of Noto CJK (or Source Han) fonts · Issue #894 · typst/webapp-issues · GitHub)

You can use your browser’s network dev tool. The current URL is https://typst.app/assets/fonts/NotoSerifCJKsc-Regular-18e4072f.otf. It’s indeed 2.001.

$ otfinfo --info ./NotoSerifCJKsc-Regular-18e4072f.otf
Family:              Noto Serif CJK SC
Subfamily:           Regular
Full name:           Noto Serif CJK SC
PostScript name:     NotoSerifCJKsc-Regular
Version:             Version 2.001;hotconv 1.1.0;makeotfexe 2.6.0
Unique ID:           2.001;GOOG;NotoSerifCJKsc-Regular;ADOBE
Description:         Dr. Ken Lunde (project architect, glyph set definition & overall production); Masataka HATTORI 服部正貴 (production & ideograph elements); Zachary Quinn Scheuren (variable font & overall production)
Designer:            Ryoko NISHIZUKA 西塚涼子 (kana & ideographs); Frank Grießhammer (Latin, Greek & Cyrillic); Wenlong ZHANG 张文龙 (bopomofo); Sandoll Communications 산돌커뮤니케이션, Soohyun PARK 박수현, Yejin WE 위예진 & Donghoon HAN 한동훈 (hangul elements, letters & syllables)
Designer URL:        http://www.adobe.com/type/
Manufacturer:        Adobe
Vendor URL:          https://fonts.google.com/noto
Trademark:           Noto is a trademark of Google Inc.
Copyright:           © 2017-2022 Adobe (http://www.adobe.com/).
License URL:         http://scripts.sil.org/OFL
License Description: This Font Software is licensed under the SIL Open Font License, Version 1.1. This Font Software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.
Vendor ID:           GOOG
Permissions:         Installable

$ sha256sum ./NotoSerifCJKsc-Regular-18e4072f.otf
18e4072f01dad3965a72ae8afee7d6dac447c4eb6d454e0084ed5c9c1fc0091f  …/NotoSerifCJKsc-Regular-18e4072f.otf

By the way, Noto Sans CJK itself is outdated at present. See Publish Sans 2.005? · Issue #314 · notofonts/noto-cjk · GitHub.