{"id":2145,"date":"2026-08-27T10:00:00","date_gmt":"2026-08-27T10:00:00","guid":{"rendered":"https:\/\/muzi.tw\/thinking\/mono-has-no-cjk-tmp-en-us\/"},"modified":"2026-10-02T09:28:33","modified_gmt":"2026-10-02T09:28:33","slug":"mono-has-no-cjk","status":"publish","type":"post","link":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/","title":{"rendered":"Monospace fonts have no Chinese, and they won&#8217;t tell you"},"content":{"rendered":"<p class=\"mz-nt-lead\">To line up the numbers, we set the whole line in a monospace font. The line had Chinese in it.<\/p>\n<p>The numbers lined up. The Chinese switched to a font we had never chosen.<\/p>\n<h2>Font fallback is silent<\/h2>\n<p>When the browser gets a character, it looks in the specified font first. If it isn&#8217;t there, it moves to the next font in the list. If none of them has it, it uses the system default.<\/p>\n<p>Nothing in that process tells you. No console message, no error. The Chinese on that line just looks a little different from everywhere else.<\/p>\n<p>In the design file that line usually holds only numbers, so it never shows up in review.<\/p>\n<h2>Two more traps<\/h2>\n<p>Putting a Chinese font after the monospace font doesn&#8217;t guarantee it gets used. The Chinese characters can drop all the way to the system default instead of stopping at the one you listed. For labels that contain Chinese, we now name the font outright rather than counting on the order of the font stack.<\/p>\n<p>The other is free font services. Not every typeface has the Chinese version you want, and if you request it in the same call as the Latin version, the service hands you only the one it has and says nothing about what&#8217;s missing. The request succeeds with a 200, and half of what you asked for isn&#8217;t there.<\/p>\n<h2>What we do now<\/h2>\n<p>Wrap only the numbers that need fixed widths, not the whole line.<\/p>\n<p>When verifying, we don&#8217;t ask the font API whether the font has loaded. Its &#8220;loaded&#8221; only means it tried, not that the screen is actually using it. We draw the text to a canvas and compare pixels. Two different fonts drawing the same character never produce the same pixels.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Set a line of Chinese in a monospace font and it still renders. What renders is some other font the system grabbed on its own.<\/p>\n","protected":false},"author":1,"featured_media":1024,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[28],"tags":[],"class_list":["post-2145","post","type-post","status-publish","format-standard","has-post-thumbnail","category-brand-notes-en-us"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Monospace fonts have no Chinese, and they won&#039;t tell you - Muzi Studio<\/title>\n<meta name=\"description\" content=\"Set a line of Chinese in a monospace font and it still renders. What renders is some other font the system grabbed on its own.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Monospace fonts have no Chinese, and they won&#039;t tell you - Muzi Studio\" \/>\n<meta property=\"og:description\" content=\"Set a line of Chinese in a monospace font and it still renders. What renders is some other font the system grabbed on its own.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/\" \/>\n<meta property=\"og:site_name\" content=\"Muzi Studio\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-27T10:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-02T09:28:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-mono-cjk-2d1a9ec6.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"1004\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/mono-has-no-cjk\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/mono-has-no-cjk\\\/\"},\"author\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#organization\"},\"headline\":\"Monospace fonts have no Chinese, and they won&#8217;t tell you\",\"datePublished\":\"2026-08-27T10:00:00+00:00\",\"dateModified\":\"2026-10-02T09:28:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/mono-has-no-cjk\\\/\"},\"wordCount\":311,\"publisher\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/mono-has-no-cjk\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/muzi.tw\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/muzi-nt-mono-cjk-2d1a9ec6.jpg\",\"articleSection\":[\"Brand Identity\"],\"inLanguage\":\"en\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/mono-has-no-cjk\\\/\",\"url\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/mono-has-no-cjk\\\/\",\"name\":\"Monospace fonts have no Chinese, and they won't tell you - Muzi Studio\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/mono-has-no-cjk\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/mono-has-no-cjk\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/muzi.tw\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/muzi-nt-mono-cjk-2d1a9ec6.jpg\",\"datePublished\":\"2026-08-27T10:00:00+00:00\",\"dateModified\":\"2026-10-02T09:28:33+00:00\",\"description\":\"Set a line of Chinese in a monospace font and it still renders. What renders is some other font the system grabbed on its own.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/mono-has-no-cjk\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/mono-has-no-cjk\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/mono-has-no-cjk\\\/#primaryimage\",\"url\":\"https:\\\/\\\/muzi.tw\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/muzi-nt-mono-cjk-2d1a9ec6.jpg\",\"contentUrl\":\"https:\\\/\\\/muzi.tw\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/muzi-nt-mono-cjk-2d1a9ec6.jpg\",\"width\":1800,\"height\":1004,\"caption\":\"A row of equally spaced black blocks on a guide rail\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/mono-has-no-cjk\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/muzi.tw\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Monospace fonts have no Chinese, and they won&#8217;t tell you\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/muzi.tw\\\/en\\\/\",\"name\":\"Muzi Studio\",\"description\":\"Muzi Studio\",\"publisher\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/muzi.tw\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#organization\",\"name\":\"Muzi Studio\",\"url\":\"https:\\\/\\\/muzi.tw\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/muzi.tw\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/muzi-logo-512.png\",\"contentUrl\":\"https:\\\/\\\/muzi.tw\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/muzi-logo-512.png\",\"width\":512,\"height\":512,\"caption\":\"Muzi Studio\"},\"image\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"email\":\"hello@muzi.tw\",\"description\":\"A brand, web and content studio in Taipei and Tokyo. We look at your growth goals and where you are today before deciding whether design needs to change.\",\"areaServed\":[\"Taiwan\",\"Japan\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Monospace fonts have no Chinese, and they won't tell you - Muzi Studio","description":"Set a line of Chinese in a monospace font and it still renders. What renders is some other font the system grabbed on its own.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/","og_locale":"en_US","og_type":"article","og_title":"Monospace fonts have no Chinese, and they won't tell you - Muzi Studio","og_description":"Set a line of Chinese in a monospace font and it still renders. What renders is some other font the system grabbed on its own.","og_url":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/","og_site_name":"Muzi Studio","article_published_time":"2026-08-27T10:00:00+00:00","article_modified_time":"2026-10-02T09:28:33+00:00","og_image":[{"width":1800,"height":1004,"url":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-mono-cjk-2d1a9ec6.jpg","type":"image\/jpeg"}],"author":"admin","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/#article","isPartOf":{"@id":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/"},"author":{"@id":"https:\/\/muzi.tw\/en\/#organization"},"headline":"Monospace fonts have no Chinese, and they won&#8217;t tell you","datePublished":"2026-08-27T10:00:00+00:00","dateModified":"2026-10-02T09:28:33+00:00","mainEntityOfPage":{"@id":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/"},"wordCount":311,"publisher":{"@id":"https:\/\/muzi.tw\/en\/#organization"},"image":{"@id":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/#primaryimage"},"thumbnailUrl":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-mono-cjk-2d1a9ec6.jpg","articleSection":["Brand Identity"],"inLanguage":"en"},{"@type":"WebPage","@id":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/","url":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/","name":"Monospace fonts have no Chinese, and they won't tell you - Muzi Studio","isPartOf":{"@id":"https:\/\/muzi.tw\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/#primaryimage"},"image":{"@id":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/#primaryimage"},"thumbnailUrl":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-mono-cjk-2d1a9ec6.jpg","datePublished":"2026-08-27T10:00:00+00:00","dateModified":"2026-10-02T09:28:33+00:00","description":"Set a line of Chinese in a monospace font and it still renders. What renders is some other font the system grabbed on its own.","breadcrumb":{"@id":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/"]}]},{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/#primaryimage","url":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-mono-cjk-2d1a9ec6.jpg","contentUrl":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-mono-cjk-2d1a9ec6.jpg","width":1800,"height":1004,"caption":"A row of equally spaced black blocks on a guide rail"},{"@type":"BreadcrumbList","@id":"https:\/\/muzi.tw\/en\/thinking\/mono-has-no-cjk\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/muzi.tw\/en\/"},{"@type":"ListItem","position":2,"name":"Monospace fonts have no Chinese, and they won&#8217;t tell you"}]},{"@type":"WebSite","@id":"https:\/\/muzi.tw\/en\/#website","url":"https:\/\/muzi.tw\/en\/","name":"Muzi Studio","description":"Muzi Studio","publisher":{"@id":"https:\/\/muzi.tw\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/muzi.tw\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Organization","@id":"https:\/\/muzi.tw\/en\/#organization","name":"Muzi Studio","url":"https:\/\/muzi.tw\/en\/","logo":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/muzi.tw\/en\/#\/schema\/logo\/image\/","url":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-logo-512.png","contentUrl":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-logo-512.png","width":512,"height":512,"caption":"Muzi Studio"},"image":{"@id":"https:\/\/muzi.tw\/en\/#\/schema\/logo\/image\/"},"email":"hello@muzi.tw","description":"A brand, web and content studio in Taipei and Tokyo. We look at your growth goals and where you are today before deciding whether design needs to change.","areaServed":["Taiwan","Japan"]}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-mono-cjk-2d1a9ec6.jpg","_links":{"self":[{"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/posts\/2145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/comments?post=2145"}],"version-history":[{"count":3,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/posts\/2145\/revisions"}],"predecessor-version":[{"id":2609,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/posts\/2145\/revisions\/2609"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/media\/1024"}],"wp:attachment":[{"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/media?parent=2145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/categories?post=2145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/tags?post=2145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}