Chromiumブラウザでは、「ファイルとして印刷」のデフォルトの用紙サイズ設定を許可しません。

Chromiumブラウザでは、「ファイルとして印刷」のデフォルトの用紙サイズ設定を許可しません。

Chromiumには、他のWebブラウザと同様に、実際のプリンタで印刷する機能と「ファイルとして印刷」機能を含む印刷機能があります。

実際のプリンタのデフォルトの用紙サイズは、CUPS自体のプリンタ設定と同じデフォルトの用紙サイズに設定されているようです。だから、これらはすべて良いです。

ところで、「ファイルとして印刷」オプションのデフォルトの用紙サイズが「US Letter」に設定されていますが、どのように変更するのかわかりません。これはすでにスーパーユーザーに聞いてください2年半前の文章を書く時点にも当然の答えが出ませんでした。明らかな問題やバグが見つかりません。私は何を逃したことがありませんか?

私は(おそらく素朴に)Chromiumがデフォルトのシステム設定からそれを選択すると予想しました。最も明確な設定は/etc/papersizeに設定されていることですletter。に変更しa4てブラウザを再起動しましたが、違いはありませんでした。

私が使用しているChromiumのバージョンは35.0.1916.153-1~deb7uDebian 7.6(wheezy)です。これはそのバージョンの現在のデフォルトです。

アップデート:Chromium問題トラッカーに報告してください。 Chromiumブラウザでは、「ファイルとして印刷」のデフォルトの用紙サイズ設定を許可しません。しかし、答えを待つために息を止めません。

アップデート2:@don_crisstiは、ChromiumがLC_PAPERの「ファイルとして印刷」からデフォルトの用紙サイズを取得するか、とにかくそれが見ているものの1つであると指摘しました。私はこれを確認しました。私は以前この内容を含むオンラインでいくつかの内容を見たことがあります。このMozillaのバグレポート@derobertから私たち自身の項目がありましたが、それを確認するのに十分深刻な可能性を受け入れませんでした。

もちろん別のものもあります。 Debian のバグ報告: LC_PAPER を使用

Chromiumソースでこれを行う方法を文書化できる人にはボーナスポイントがあります。

ベストアンサー1

これは実際にGTK2(他の多くのプログラムの中でChromiumで使用されるウィジェットツールキット)のデフォルトです。

デフォルト値は次のように決定されます。gtk/gtkpapersize.c、機能gtk_paper_size_get_default。優先順位に従って、次の用紙サイズを取得します。

  1. nl_langinfo、用紙サイズを返すことができるシステムの場合。 AFAIK、Linux / glibcはそのうちの1つではないため、このステップはLinuxとは無関係です。他のサイズは無視し、A4 または Letter をデフォルトのサイズとして使用します (そして、A4 または Letter を取得するには残りの手順に進みます)。
  2. 次に、ロケール情報を取得します。利用可能な場合はそのカテゴリを使用しLC_PAPER、そうでない場合はそのカテゴリを使用しますLC_MESSAGES。 Linux/glibc は実行するLC_PAPERため、これが使用されるカテゴリです。 Single Unix 仕様によれば、ロケール情報は「指定されたロケールカテゴリに関連付けられた文字列」として返されます。簡単に言うとen_US.UTF-8
  3. ロケール文字列を取得できない場合は、A4と仮定して完了します。
  4. それ以外の場合は、ロケール文字列をUS Letterを使用して、場所のハードコードされた国コードのリストと比較します。これは(少なくとも私のgtk2バージョンでは)BZ、CA、CL、CO、CR、GT、MX、NI、PA、PH、PR、SV、US、VEです。いくつかのコメントでは、リストは次から来ると言います。Unicode 地域言語情報ロケールがこのリストにある場合、 Letter が返されます。それ以外の場合はA4に戻ります。

ちなみに、ロケールは複数の場所で構成されます。カテゴリの場合、LC_PAPER検索順序はman 7 locale次のとおりです。 1. 環境LC_ALL変数LC_PAPER3.LANG環境変数。

おすすめ記事