Skip to main content

Module font_select

Module font_select 

Source
Expand description

ウェイト付きフォントを選んでよいかの判定(純粋モジュール)。

仕様は spec/webfont_loading.md。

Google Fonts は unicode-range でファイルを分割して配信するため、 「Noto Sans JP のウェイト 700」が Latin だけのサブセットということがある。 太字だからと無条件にそのファイルを選ぶと、収録されていない文字が欠ける。

フォントもハードウェアも要らない純粋な判定なので、QEMU 抜きで検証できる。

Functions§

covers_all
s に含まれる文字をすべて描けるなら true。
generic_family_candidates
総称フォント名(sans-serif 等)に割り当てる候補の family 名(小文字、優先順)。 総称名でなければ空。
parse_font_weight
font-weight の値を数値へ(normal=400、bold=700、数値はそのまま 1〜1000 に丸める)。 bolder/lighter は親の値が要るが、ここでは CSS Fonts 4 の表で親 400 とみなした値(700/100)。
pick_weight
登録済みウェイトの中から、描画に使う 1 つを選ぶ。
pick_weight_css
読み込み済みのウェイトから、desired に使うものを CSS Fonts 4 §5.2 の照合規則で選ぶ。 available は (ウェイト, 文字列を描けるか)。描けないものは候補にしない。
scaled_advance
グリフの送り幅(フォント単位)を px へ換算する。四捨五入する。