<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <cite xml:lang="en">CSS Syntax Module Level 3</cite> (<time>2016-04-16 09:33:33 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://drafts.csswg.org/css-syntax/#urange">https://drafts.csswg.org/css-syntax/#urange</anchor-external></li></ul></refs></section><section><h1>処理</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 
詳しく検証したわけではないけど、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> は <code>unicode-range</code> の範囲外でも読み込んだフォントにグリフがあれば使うっぽい?
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> は <code>unicode-range</code> の範囲内しかグリフがあっても使わないっぽい?
<time>2023-09-10T13:34:51.500Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> 
逆に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底文字</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>の組み合わせの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォント</anchor>の決定で 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> は <code>unicode-range</code>
外でも使うケースがあり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> は <code>unicode-range</code> 
に忠実なケースもある・・・のだけど、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォント</anchor>にない場合の両者の選択処理自体が違うみたいなので、
そう単純な話でもないかもしれない。
<time>2023-11-11T09:04:34.800Z</time></p></section><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en-US">csswg: changeset 8996:dec8752a6390</cite>
( (<time>2013-09-22 12:43:41 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://dvcs.w3.org/hg/csswg/rev/dec8752a6390">https://dvcs.w3.org/hg/csswg/rev/dec8752a6390</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="en-US">csswg: changeset 9016:d88caaa3d5fa</cite>
( (<time>2013-09-22 12:43:48 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://dvcs.w3.org/hg/csswg/rev/d88caaa3d5fa">https://dvcs.w3.org/hg/csswg/rev/d88caaa3d5fa</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite xml:lang="en-US">csswg: changeset 14787:641cdd6f91e6</cite>
( (<time>2014-11-16 11:53:38 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://dvcs.w3.org/hg/csswg/rev/641cdd6f91e62afae8ebb3d55738779d2b2b6b21">https://dvcs.w3.org/hg/csswg/rev/641cdd6f91e62afae8ebb3d55738779d2b2b6b21</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite xml:lang="en"><strong></strong>[<strong></strong>css-syntax<strong></strong>]<strong></strong> Removed &lt;unicode-range-token&gt;, please review</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Tab Atkins Jr.</anchor> 著, <time>2014-11-14 10:13:54 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://lists.w3.org/Archives/Public/www-style/2014Nov/0247.html">http://lists.w3.org/Archives/Public/www-style/2014Nov/0247.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite xml:lang="en"><strong></strong>[<strong></strong>css-syntax<strong></strong>]<strong></strong> Removed &lt;unicode-range-token&gt;, please review</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Tab Atkins Jr.</anchor> 著, <time>2014-11-14 10:13:54 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://lists.w3.org/Archives/Public/www-style/2014Nov/0247.html">http://lists.w3.org/Archives/Public/www-style/2014Nov/0247.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <cite xml:lang="en">CSS Syntax Module Level 3</cite>
( (<time>2014-11-15 04:20:04 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://dev.w3.org/csswg/css-syntax/#urange">http://dev.w3.org/csswg/css-syntax/#urange</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite xml:lang="en-US">csswg: changeset 14788:65b28a5eb493</cite>
( (<time>2014-11-16 12:02:37 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://dvcs.w3.org/hg/csswg/rev/65b28a5eb4932e88ab69ae0ab0e2c33e963c88c8">https://dvcs.w3.org/hg/csswg/rev/65b28a5eb4932e88ab69ae0ab0e2c33e963c88c8</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite xml:lang="en"><strong></strong>[<strong></strong>css-syntax<strong></strong>]<strong></strong> &lt;urange&gt; and it's problems</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Tab Atkins Jr.</anchor> 著, <time>2016-04-13 05:37:54 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://lists.w3.org/Archives/Public/www-style/2016Apr/0215.html">https://lists.w3.org/Archives/Public/www-style/2016Apr/0215.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> 
最近の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フレームワーク</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォント</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サブセット化</anchor>とか称して使う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>だけ抜き出すかわりに膨大な
<code>unicode-range</code>
リストを吐き出す馬鹿っぽいのが流行ってるのかな、たまに見かけますよね。
<time>2023-08-20T12:35:41.500Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal>
文字数が少ない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">欧米</anchor>圏ならそれで成り立つのかもしれないけど。
字数が多い<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日本語</anchor>のページでそれやって <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> に長いリストが埋まってるのはどうかしてる。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> 
それでもフォントファイルのサイズの削減に比べれば効果はあるんだろうけど。
でもフォントの範囲を厳密に指定する必要はそもそもないんだから忠実なリストにしなくても大雑把に書いとけばいいのにねえ。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> 
<cite xml:lang="ja">Xユーザーの音風景の管理人さん: 「Google Fontsで配られているNoto Sans JPのCSS2を見た所、ポピュラーな漢字を記載した.woff2ファイルが下にまとまってリンクされる傾向があるので「頻度分析&quot;は&quot;していない」ではなくて「頻度分析&quot;しか&quot;していない」ではないだろうか。 https://t.co/JfhMoR4nPb」 / X</cite>, <time>午後9:09 · 2024年11月28日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2024-11-28T12:09:03.000Z</attrvalue></time>, <time>2024-11-29T01:37:08.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/kamedo2/status/1862106427671949404">https://x.com/kamedo2/status/1862106427671949404</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <cite xml:lang="ja">Xユーザーの音風景の管理人さん: 「こちらの分析だと、以下の画像みたいなUnicodeコードポイント大量列挙部分の転送で遅くなってる。日本語は文字数が多いですからね。 https://t.co/qeLrC2z7OU」 / X</cite>, <time>午後9:19 · 2024年11月28日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2024-11-28T12:19:30.000Z</attrvalue></time>, <time>2024-11-29T01:37:08.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/kamedo2/status/1862109056892277138">https://x.com/kamedo2/status/1862109056892277138</anchor-external></li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 
さすがに <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Google Fonts</anchor> くらいならもっとまともにやってそうと思ったのだけど、
結局こういうことやっててそこがボトルネックになるのかあ。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> 
転送時に圧縮もされてるだろうしこの程度なら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォント</anchor>本体に比べれば誤差かという気もするのに
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Google Fonts</anchor> の中の人もそういう認識なのかな?) それでもやっぱりここは性能に悪影響でちゃうのかな。</p></section></body></html>