CSS3

@規則用記述子

unicode-range

  編集:2022.07.12 by T.A.

[Edge]○。→mdn

フォント利用に於ける文字コード範囲。

名前 unicode-range
用途 @font-face
<urange>#
初期値 U+0-10FFFF

この記述子を宣言することにより、フォント書体がサポートし得る Unicode [UNICODE] 符号位置たちの集合を定義できる。記述子は、一連の Unicode 範囲(<urange>)からなる、カンマで区切られたリストを値にとる。符号位置の集合は、これらの範囲の和集合として定義され、ユーザー エージェントが[所与のテキスト連なり用にフォント リソースをダウンロードするかどうか]を裁定する際のヒントになる。

<urange>

各 <urange> 値は、UNICODE-RANGE トークンを成す[[接頭辞 U+ または u+]、符号位置範囲]並びで与えられる。符号位置範囲は、次に挙げる 3 種いずれかの形をとる ─ この形に収まらないものは無効であり、当の宣言は無視されることになる:

単独の符号位置(例: U+416)
1 ~ 6 個の 16 進数字として表現される、1 個の Unicode 符号位置のみからなる範囲
区間範囲(例: U+400-4ff)
ハイフンで分離された 2 個の 16 進数字列として表現される範囲 ─ 2 個の数字列は、順に、範囲の[始端、終端]を指示する。
ワイルドカード範囲(例: U+4??)
尾部の各 文字 ? が任意の 16 進数字を表すとするときの、符号位置の集合として定義される範囲。

ここで:

以下のCSSが組み込んであります:

<SPAN style="font-size:30px;
 font-family:Times New Roman, MS ゴシック; 
">ABCDabcd012…あいう</SPAN><BR>
当文書でのTimes New Roman

<SPAN style="font-size:30px;
 font-family:Test_Font, MS ゴシック; 
">ABCDabcd012…あいう</SPAN><BR>

unicode-range 記述子の宣言に含まれる Unicode 範囲リストにおいては、複数の範囲が互いに重なり合ってもよい。これらの範囲の和集合が、対応しているフォントから利用され得る[符号位置の集合]を定義する。ユーザー エージェントは、この集合に入らない符号位置に対しては、当該のフォントを[ダウンロードしない/利用しない]ものとする。ユーザー エージェントは、範囲リストを、同じ[符号位置の集合]を表現する、異なるリストに正規化してもよい。

当該のフォントは、[unicode-range 記述子により定義される符号位置集合]用のグリフたち全部は包含しないかもしれない。フォントが利用されるときの 有効文字マップ とは、[この符号位置集合]と[フォントの文字マップ]との交差集合(積集合)として、定義される。これにより、作者は、下層のフォントがサポートする符号位置の精確な範囲について気にせずに、サポートされる範囲を、おおまかな範囲で定義できるようになる。

¶例を省く

技術文書では、多岐に渡る記号を要することが多い。STIX フォントプロジェクトは、[標準化された仕方で、多岐に渡る技術用の植字をサポートするためのフォント]を供することを目指しているプロジェクトの一つである。下の例に、[Unicode 内の多数の[数学記号/技術記号]用のグリフ]を供するフォントの利用を示す:
@font-face {
  font-family: STIXGeneral;
  src: local(STIXGeneral), url(/stixfonts/STIXGeneral.otf);
  unicode-range: U+000-49F, U+2000-27FF, U+2900-2BFF, U+1D400-1D7FF;
}

テスト
HTML:

ここに表示
HTML:

ここに表示
スクリプト:


スクリプト:



表示内容:
表示内容: