私が知っている限り、すべてのフォント(SVGなど)はベクトル表現であるため、無限に拡張できます。ただし、ここにはLibreOffice Writerからインポートされた同じサイズの2つの拡大された「S」文字があります。
これは12ポイントで、表示サイズは175%に調整され、表示されるサイズは21ポイントになります。
ディスプレイズームが100%の場合、この値は21ポイントです。
どちらも同じ高DPIディスプレイ(2560 x 1600)でレンダリングされますが、175%のサイズに調整されたバージョンは著しくぼやけています。
何が起こっているようですか? 175%(トップ)バージョンは、単に低解像度画像をラスター補間して、モニターを実際より低解像度のデバイスとして効果的に処理することです。
IE:なぜウェールランドではないのですか?ベクトルベクトル画像フォーマットのスケーリング、どうすればいいですか?確かに正しい状況は、スケーリング要素に関係なく、モニターの最大パフォーマンスでレンダリングを実行する必要があることです。 2つの「S」はフォントサイズで倍率を相殺したので、明らかに画面上でまったく同じスペースを占めています。
Windows 11で同じことをしましたが、これらの不幸な欠点はないようです。
DPIが低く、100%に拡張された他のモニターが接続されていることに注意してください。それが状況に影響を与えるかどうかはわかりません。
デフォルトのGnomeデスクトップではUbuntu 22.04を使用しています。
答え1
IE:Waylandのベクトルスケーリングがベクトル画像形式ではないのはなぜですか。どうすればよいですか?確かに正しい状況は、スケーリング要素に関係なく、モニターの最大パフォーマンスでレンダリングを実行する必要があることです。
Waylandはどのようなフォントやレンダリングもまったく処理しません。受信される唯一のコンテンツは、画面に表示する準備が整ったピクセルのフラットバッファです。 (実際、ここ数年でX11も同様です。過去10〜20年間作成されたアプリケーションやツールキットは、X11の非常に限られたテキスト描画機能を使用せず、常にクライアント側で実行し、完成したピクセルマップをXorgに提供します。 )
残りのUIもアプリケーションによって事前にレンダリングされ、ベクトル形式ではなくビットマップとしてディスプレイサーバーに提供されます。
だから可能な唯一の方法はWaylandサーバー通知アプリケーションです彼ら自身レンダリングされた出力のサイズを約2倍に調整します(たとえば、GTK3 / GTK4はこれを実行して、ベクトルフォントだけでなく他のものも2倍のサイズで描画できます)。
ただし、アプリケーションが要求に応答しない場合、ディスプレイサーバーには最終イメージバッファを増やすオプションしかありません。これが唯一のオプションだからです。私が知っている限り、Waylandの分数スケーリングは以前の整数スケーリングとは異なる「プロトコル」を使用しているため、LibreOfficeの「VCL」UIツールキットはまだそれをサポートしていないか、実際にXwaylandを介してX11モードで実行され続ける可能性があります。
LibreOfficeのVCLは実際にはフロントエンドです。様々な種類ツールキット(GTK3、Qt5、Windowsの基本ウィジェットを介してUIを描画できます...)そうだより現代的なQt6バックエンドを使用するように指示すると、より良い結果が得られます。
$ export SAL_USE_VCLPLUGIN=qt6
$ libreoffice --writer
...Ubuntuのバージョンがこの機能をサポートし、Qt6がインストールされているとします。 (GNOMEの標準ツールキットはGTKであり、これはいくつかの利点を得ました。ハッカーフォーム私はGTK 4.8が最近の分数スケーリングをサポートしていたと思いますが、LibreOfficeはまだGTK 3.xを使用しています。 )
Windows 11で同じことをしましたが、これらの不幸な欠点はないようです。
それする。多くのWindowsプログラム(特に古いプログラム)はまだUIのサイズ変更をサポートしていません。 Windowsは、デフォルトのGDIウィジェットを使用するプログラムのUIツールキットレベルでこれを処理しようとしましたが(GTKまたはQtが独自のサイズ変更を実行するのと似ています)、うまくいかず、Windowsでさえビットマップのサイズ変更に戻る必要がありました。 。 (たとえば、UIキットのサイズ変更によってボタンやその他の要素が混乱するように重複する既存の会計プログラムがまだ使用されているため、互換性オプションに移動してビットマップのサイズ変更を選択する必要があります。)