FirefoxでTTFフォントの合字(tt、ti、fi、ffなど)を修正するにはどうすればよいですか?


24

特定のWindowsフォントでは、合字カーニングが反転し、2つの文字が太字になるような表示の問題があります。FirefoxでHelveticaを使用したメールのスクリーンショットを次に示します。

ここに画像の説明を入力してください

ご覧のとおり、交差した文字(tおよびf)が相互に接続する方法やのような文字に関するもののようiです。

私は非常に長い間(複数のシステムで)この問題を抱えていましたが、同様の問題がポップアップ表示され、それらを修正する方法を見つけた人はいないかと思いました。

注:これはFirefoxにのみ影響すると思います。ChromeとLibreOfficeはどちらも問題ありません。

回答:


27

Lide Officeを含むすべてのアプリケーションで動作する別のソリューションは、aldebyによって提供されます

ファイル~/.fonts.confを編集または作成し、次のコードを貼り付けます:

<match target="font" >
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>

必ずXML構造を保持してください。

ログアウトして再度ログインすると、Calibri(および場合によっては他のフォント)の外観が格段に向上します(実際には、ここに示した他の回答よりも、見苦しいビットマップ置換が完全に無効になっているため)。


3
これは以前の解決策よりも優れた解決策であり、グローバルな修正であり、合字を排除することは困難です。合字は、テキストを読みやすくするためにあり、構成の問題を回避するためにそれらをオフにすることは理想的ではありません。
スクルース

このXMLファイルの内容を適切にフォーマットすることを気にするほどOCDまたはアナルを保持している人(もちろん、Linuxの<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd"><fontconfig><match target="font"><edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit></match></fontconfig>
ユーザーは

aldebyへのリンクがフィッシング詐欺サイトにつながるようになりました
charsi

1
@charsiありがとう、Webアーカイブへのリンクに置き換えました。
カリモ

ログアウトしてログインし直す必要さえありませんでした。(Firefoxで)ページを更新し、アプリケーション(LibreOffice)を再起動するだけで十分です。
Marc。2377

9

合字を無効にすること(Calimoのfonts.conf答えを参照)は間違った方向です!Calibriのようなフォントのエイリアスされた「太字」の合字を削除する場合がありますが、タイポグラフィの美しさも削除されます。これは、違いがわからなくなるまでフォントを縮小することに似ています。

私がインストール、Calibriフォントを除去することにより、自分のシステムのためにこれを解決カリート「であり、メトリック互換「のfontconfig(local.conf)にマッピングエントリ」Calibri有する」と同梱されているが、私のフォントキャッシュをリフレッシュします。

$ rm ~/.fonts/microsoft/CALIBRI*
$ sudo apt install fonts-crosextra-carlito
$ fc-cache

その後、CarlitoがCalibriの代わりになっていることを確認できます。

$ fc-match Calibri
Carlito-Regular.ttf: "Carlito" "Regular"

(これが機能しない場合はsudo rm /usr/share/fonts/truetype/msttcorefonts/calibri*、ケースと正確な場所は異なるかもしれませんが、何かが必要になる場合があります。)

MicrosoftのCalibriを削除する前に、Calibriを使用するテストドキュメントをLibreOfficeに保存し、スクリーンショットを撮りました。その後、LibreOfficeを終了し、再度開き、テストドキュメントを読み込みました。「Calibri」フォント名は、それが置き換えられたことを示すために斜体で表示されました。この代替バージョンのスクリーンショットを撮り、オリジナルの下に貼り付けました。

カリブリ試験

上記のテキストは13pt Calibriのスクリーンショットのペアであり、MicrosoftのCalibriはfontconfigと一致するCarlitoの上にあります。LibreOffice 5.0.5.1でレンダリングされるように、太字や書式設定、「ペアカーニング」は有効になっていません。

CarlitoはCalibriに非常に近く、合字は適切にレンダリングされ、全体的に非常にきれいです。

あなたが同じことを行うことができますCaladeaためカンブリアfonts-crosextra-caladea、あなたは、Googleの使用することができますCroscoreフォント Arimo、ティノス、およびキュジーヌのためのArialのTimes New Roman、およびクーリエ新規fonts-croscore。詳細については、Debianの代替CalibriおよびCambria Fonts wikiをご覧ください。

しかし、Helveticaはどうですか?

この質問では、Appleが推奨するsans-serifフォントであるHelveticaフォントについて質問します。マイクロソフトは、Calibriに変更する前にArialを優先しました。デフォルトのLinuxマッピングは分布によって異なりますが、それは一般的にどちらかだニンバスサンズLまたは他の解放のSans、例えば

$ fc-match Helvetica
n019003l.pfb: "Nimbus Sans L" "Regular"

それを実行してArialを取得した場合、それが上記の合字の問題を抱えているかなり良い理由です。Arialは素晴らしいフォントではありません。

Helveticaにはそれを取り巻くかなりの文化があり、Helveticaと完全にメトリック互換性のあるフォントを見つけることができません。Arial(およびLiberation SansとそのフォークであるArimoを含むArialとメトリック互換性のあるフォントは、文字幅が同じです(つまり、「ほぼ」メトリック互換です。テキストはHelveticaと同じように折り返されます)。 Liberation SansとNimbus Sans は、最も似た美学を持っているようです

IBM Plexもあります。これは、その背後に大金のある新しいフォントです[ 1 ] [ 2 ]。Plexは、IBMのすべての素材のHelvetica(また、sansだけでなく、セリフ体フォントと等幅フォントも含む)を置き換えるように設計されていますが、Helveticaやその他のフォントとはまったく互換性がありません。Font Squirrelには、Plexフォントのサンプルの見やすいビューがあります

Fontconfigエイリアス

Helveticaを別のフォントに手動でエイリアスするには(したがって、CalibriやArialを削除する必要はありませんが、その場合は手動でエイリアスする必要があります)、~/.config/fontconfig/fonts.confファイルを編集します(古いシステムの場合、~/.fonts.conf混乱を避けるため、後者をシンボリックリンクします)前者)、この回答に記載されているように<alias>、Helveticaの新しいセクションを追加します(これはArimoを使用しています。インストール済みであることを確認してください)。

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>

  <alias>
    <family>Helvetica</family>
    <prefer><family>Arimo</family></prefer>
  </alias>

</fontconfig>

1
これは受け入れられているものよりもはるかに良い答えです。arch wikiには便利なconfファイルがあります:wiki.archlinux.org/index.php/Croscore_Fonts
Xananax

最初の行はsudo rm -R / usr / share / fonts / truetype / calibri
dez93_2000

fc-match Helveticaの結果がLinuxでarialである場合、Liberation Sansを強制する方法を知っていますか?Arialを削除するだけですか?ありがとう
dez93_2000 7:23

@ dez93_2000 –それはおそらく/usr/share/fonts/truetype/msttcorefonts/callibri*。コメントに収まらないので、フォントエイリアシングに対処するために回答を更新します。
アダムカッツ

受け入れられた回答のレンダリング結果を慎重に検査し(フォントCalibriを使用)、既知の優れたレンダラーと比較してもまったく違いはありませんでした。欠けている美しさはまったくありませんでした。
Marc.2377

6

lgarzoの答えは、テキストに「noligs」クラスがあるWebサイトでのみ機能します(ほとんどのWebサイトでは機能しません)。

すべてのWebサイトで合字をグローバルに無効にするには、次の行をに追加しますuserChrome.css

* { -moz-font-feature-settings: "liga" 0; }

これを行う最も簡単な方法は、Stylish拡張機能を使用して新しいスタイルを作成することです。


スタイリッシュな提案のために+1。AFAIR Mozillaのドキュメントを引用しました(OPが希望どおりに変換できると期待していたためです:))私の意図は、ルールをページのCSSに含めることでした。(ただし、ソースを確認できません。ATMがダウンしているようです。)
lgarzo

1
stackoverflow.com/a/15161336/4464570によると、この構文はFirefox 14まで有効でしたが、現在ではブラウザーによって認識されなくなりました。投稿を編集して、現在の構文で更新しました。
バイトコマンダー

4

画像を見ながらいくつかの発言が私の心に浮かびました。

  • 合字はアンチエイリアスされているようですが、残りのテキストはそうではありません。したがって、通常のテキストより太いように見えます(ただし、太字に見えることも否定できません)。
  • 私の知る限り、Helveticaフォントは非標準フォントです。つまり、デフォルトのWindowsインストールには付属していません。インストールされていますか、それとも別のフォントですか?

この問題は、フォントが合字/カーニングを正しくサポートしていないことに基づいていると思います。

以下のCSSルールを使用して、FFの合字を無効にできます。

/* disable common ligatures, usually on by default */
.noligs { -moz-font-feature-settings: "liga" 0; }

ソース:CSSリファレンス:Mozilla拡張機能


stackoverflow.com/a/15161336/4464570によると、この構文はFirefox 14まで有効でしたが、現在ではブラウザーによって認識されなくなりました。投稿を編集して、現在の構文で更新しました。
バイトコマンダー

1

Calimoの答えに加えて、Archlinuxユーザーはhttps://wiki.archlinux.org/index.php/font_configuration-ビットマップフォントを無効にするヘルプを見つけることができます

ローカル設定ファイル〜/ .config / fontconfig / conf.d / 20-no-embedded.confを作成することを提案しましたが、システム全体のオプションを選択しました

sudo touch /etc/fonts/conf.d/20-no-embedded.conf
sudo chmod 777 /etc/fonts/conf.d/20-no-embedded.conf
nano 777 /etc/fonts/conf.d/20-no-embedded.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="embeddedbitmap" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>

その後、アプリを再起動するだけです(私の場合はthunderbird)


「<match target = "font">」行のすぐ下に追加する場合:<test name = "family"> <string> Calibri </ string> </ test>またはフォント名(Helvetica)に関係なく、その特定のフォントのフォント設定のみを編集します。
zeehio

ファイル(シンボリックリンクではない)をそこに配置しているため、許可は777ではなく644にする必要があります。
Marc.2377
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.