Functions§
- calc_
skip_ 🔒ws - バイト位置
*pos以降の空白をスキップする。 - eval_
calc calc()式をpxへ評価する。四則演算・任意個数の項・丸括弧によるネストに対応する。- eval_
calc_ with_ font - 要素のフォントサイズ(
font_px)を考慮してcalc()式を px へ評価する。 - eval_
css_ math - CSS の数式関数(
calc()/min()/max()/clamp()/abs()/sign()/round()/mod()/rem())を px へ評価する。 - eval_
css_ math_ with_ font - 要素のフォントサイズ(
font_px)を考慮して CSS 数式関数を px へ評価する。 - eval_
length_ 🔒token - 単一の長さ値(
10px/50%/calc(...)など、四則演算を含まない1トークン、 もしくはcalc()/min()/max()/clamp()の再帰評価)を px へ解決する。 - eval_
length_ 🔒token_ with_ font - parse_
calc_ 🔒expr expr := term (('+' | '-') term)*。任意個数の項を左結合で畳み込む。- parse_
calc_ 🔒expr_ with_ font - parse_
calc_ 🔒factor factor := '(' expr ')' | <数値+単位トークン>。- parse_
calc_ 🔒factor_ with_ font - parse_
calc_ 🔒term term := factor (('*' | '/') factor)*。乗除算は加減算より優先度が高い。- parse_
calc_ 🔒term_ with_ font - parse_
calc_ 🔒unit calc()内の単一トークン(10px/50%/2rem/裸の数値等)をpxへ変換する。- parse_
calc_ 🔒unit_ with_ font - parse_
nested_ 🔒body - CSS Nesting のルール本体をパースする。トップレベル(このネストの深さ)の
;で 宣言を区切り、トップレベルの{はネストしたルールの開始とみなして対応する}までを取り出し再帰する。ネストしたセレクタの各カンマ枝は、&を含めば親セレクタの テキストで置換し、含まなければ親セレクタの後ろに半角スペースで連結する(子孫結合子 扱い)。戻り値はこのレベル自身の宣言一覧(ネストしたルールはout_rulesに積む)。 - parse_
one_ 🔒declaration - 単一の
name: value宣言(!important込み)をパースする。 空の name/value や区切りの:が無い場合はNone。 - resolve_
css_ env env(safe-area-inset-*)等(CSS Environment Variables)を解決する。 この処理系にはノッチ/デバイスセーフエリアという概念自体が存在しない (実機はRaspberry Pi 3B、ヘッドレスQEMU)ため、var()のような真の 環境変数テーブルは持たず、既知のsafe-area-inset-*/viewport-segment-*系は常に"0px"、フォールバック指定があればそちらを 優先する「正直な既定値ゼロ」として解決する(丸ごと未対応だった。 2026-07-18 発見・実装)。- resolve_
css_ var - Replace all
var(--name)andvar(--name, fallback)occurrences in a value string. カスタムプロパティが別のカスタムプロパティを参照する間接参照 (例:--a: var(--b); --b: red;のときvar(--a)はredに解決される)に対応するため、 1パスの置換結果にまだvar(が残っていれば再帰的に解決する。循環参照時に無限再帰へ 陥らないよう、最大再帰深度(8)を設けて打ち切る。 - resolve_
css_ 🔒var_ depth - split_
top_ 🔒level_ commas min()/max()/clamp()の引数を最上位のカンマだけで分割する。 引数内にcalc()/min()/max()/clamp()がネストしていても、その内側の カンマは分割対象にしない(括弧の深さを追跡する)。