BlinkGTK 1.2.6-build1 リリースノート

リリース日: 2026-11-04 / Chromium: 157.0.8103.38 / 言語: 日本語 | English

レンダリングエンジンを Chromium 157 に更新しました。日本語の縦書きを扱う方へのポイントは次の 4 点です。

起動も速くなりました (この版の測定で、頁の読み込みの完了が約 0.3 秒早い)。

build1: Chromium 157 の最初の版

この build1 は Linux 向けパッケージです (例: blinkgtk-1.2.6-build1-linux-x86_64.tar.gz)。Chromium は 157.0.8103.38 です。この版で変わったことは、以下の各節に書きました。

縦書きでできるようになったこと (Chromium 157)

左が 1.2.5、右が 1.2.6。それぞれ左から、ルビのみ・ルビに傍線・家族の絵文字

図 1: 同じ頁を 1.2.5 と 1.2.6 で開いたところ 左から、ルビだけの行、ルビの付いた字に傍線を引いた行、家族の絵文字を入れた行。

ルビの付いた字に傍線を引いても、線とルビが重ならない

日本語の縦書きでは、下線 (text-decoration: underline) は字の右側、つまりルビと同じ側に引かれます。1.2.5 までは線とルビが同じ位置に描かれ、ルビの上を線が通っていました (図 1 の左から 2 列目)。

1.2.6 では、線を引いた字のルビが線の外側へ移り、重なりません。ルビだけの行の配置は変わりません。

<p style="writing-mode: vertical-rl" lang="ja">
  <span style="text-decoration: underline"><ruby>漢字<rt>かんじ</rt></ruby></span>の読み
</p>

家族などの絵文字が、縦書きでも 1 つの絵文字として表示される

👨‍👩‍👧 のように、いくつかの絵文字を見えない結合の文字 (ZWJ) でつないだものは、1 つの絵文字として表示されます。1.2.5 までは縦書きにすると部品ごとに分かれ、3 人が縦に並んでいました (図 1 の左から 3 列目)。1.2.6 では横書きと同じく 1 つの絵文字になります。

下線・傍線の両端を詰められる (text-decoration-inset)

下線や傍線の始まりと終わりを、字の端から内側へ詰める指定です。1.2.3〜1.2.5 では使えず、指定しても無視されていました。1.2.6 から使えます。縦書きでは、線の上端と下端が詰まります。

/* 線の両端を 2px ずつ内側へ */
.underlined { text-decoration: underline; text-decoration-inset: 2px; }

縦書きでは変わらないこと: 波線の途切れ

Chromium 157 では、波線の下線 (text-decoration: underline wavy) が、途中の <em> などの要素の境目で模様をやり直さず、続けて描かれるようになりました。これは横書きの場合だけです。

縦書きでは、1.2.6 でも要素の境目で波の模様がやり直されます (1.2.5 と同じ)。縦書きの波線の途中に強調などを入れると、境目で波がずれて見えます。

縦書きの行を最後まで埋める (Chromium 157 で起きる問題を防ぐ)

Chromium 157 では、縦組みの行末に閉じ括弧などがあるとき、行の長さを使い切る前に改行してしまうことがあります。行が途中までしか埋まらず、半分ほどの長さで折り返します。Chromium 157 で、この問題を防いでいた処理が既定で止められたためです (別の頁で異常終了が見つかったための措置)。

1.2.6 では、異常終了を直したうえでこの処理を元に戻す上流の修正を取り込みました。上流では Chromium 158 から入る見込みの修正です。

起動が速くなりました

ファイルを選ぶ API を使えるまま、起動を速くしました。1.2.5-build5 で外した起動の短縮 (共有ライブラリを読み込むときのシンボルの検索を減らす指定) を、build2〜build4 でアプリが異常終了する原因になった部分を除いて入れ直したものです。1.2.6 で、ページからファイルを選ぶ API を呼んでもアプリが異常終了しないことを確かめています。

起動の時間 (Intel Core i5-10310U・Fedora 45 の機械 1 台、試験用の頁、描画の経路ごとに 5 回ずつの中央値、2026-11-04 測定):

区切り 描画の経路 1.2.5-build5 1.2.6 差
初期化 (blink_gtk_init()) が終わるまで software 493 ms 334 ms −159 ms
最初の描画が届くまで software 1,259 ms 917 ms −342 ms
頁の読み込みの完了 software 1,237 ms 895 ms −342 ms
頁の読み込みの完了 EGL 1,387 ms 1,054 ms −333 ms

Chromium の版も変わっているので、速くなった分のうち、どれだけが起動の短縮によるものかは分けて測っていません。測ったのは 1 台・1 つの頁です。

部分的な描き直しの既定を変えました

頁の一部だけが変わる場面 (動く頁など) で、内容が切り替わるたびに画面全体を描き直していた処理を、既定で止めました。白いページが出るのを防ぐために入れていたものですが、今の版の確認では、止めても白いページは出ませんでした。別の仕組み (描き直しの指示が抜けたときに全面を描き直す処理) は残しています。

Chromium 157 で使えるようになったもの (主なもの)

Chromium 157 では、設定の項目 (機能を切り替えるフラグ) が 27 個無くなりました。そのうち 1.2.5 で既定で有効だったものは、機能が常に有効になってフラグが片付けられたものです。たとえば calc() で単位どうしを割る計算と overscroll-behavior: chain は、1.2.5 と 1.2.6 の両方で使えることを確かめました。


以前の版から上げる方へ

使い方に当たる行を確かめてください。詳しい説明は各行のリンク先にあります。

この表は Linux 版のものです。BlinkGTK for Windows の方は Windows 版の「前の版から上げる方」 を確かめてください。

対象の使い方 変わること 必要な対応
縦書きでルビの付いた字に下線・傍線を引いている ルビが線の外側へ移る (重ならなくなる) ルビの外側の余白が少ない組版では、行の間の見え方を確かめる。それ以外は不要 (詳細)
縦書きで絵文字を使う つないだ形の絵文字が 1 字分の高さになる 不要 (詳細)
text-decoration-inset を指定している頁 指定どおり線の両端が詰まる (1.2.5 までは無視されていた) 指定した値で意図どおりの見た目かを確かめる (詳細)
縦書きで波線の下線を使う 変わらない (要素の境目で模様がやり直される) 不要 (詳細)
動く頁や、頁の一部だけが変わる頁を表示する 内容が切り替わるたびの全面の描き直しを、既定で行わない 不要。白いページを見たら BLINKGTK_120_ACT_REDRAW=1 で確かめる (詳細)
起動の速さを気にするアプリ 起動が速くなる (この版の測定で、頁の読み込みの完了が約 0.3 秒早い) 不要 (詳細)