公式サイト紹介
- 公式ウェブサイトファイルのloadFontFaceは、カスタムフォントの導入と使用も実現できます。app.jsで使用する必要がある場合は、global:trueを追加することを忘れないでください。そうしないと、app.jsは実行されません。
- 背景:プロジェクトでは、すべてのフォントをArialに変更する必要があります。ここでは、font-faceを使用して外部フォントファイルをインポートします。
フォントファイルを準備する
- ここでは、UIから必要なOTFファイルを準備しています。
- ファイルを自分のサーバーにアップロードし、アクセスリンクを生成します。
- app.wxssで使用
@font-face {
font-family: 'SimSun700';
src: url('链接地址必须是https的')format('truetype');
}
.sim-sun700 {
font-family: 'SimSun700' !important;
}
- cssのクラス名を定義して、必要なときにクラス名を直接使用できるようにします。
テスト
- フォントを定義すると、そのフォントはシミュレーターとiOS携帯電話では有効ですが、Androidでは無効であることがわかります。
フォント障害の問題を解決するためのAndroidのデバッグ
- loadFontFaceの公式メソッドを使用すると、Androidでの使用は簡単ではないことがわかりました。ただし、公式Webサイトのメソッドに失敗関数のコールバックがあり、フォントが正常にロードされていないことがわかりました。公式Webサイトに説明があります。フォントリンクは同じオリジンである必要があります。そうでない場合、corsサポートは有効で、アプレットのドメイン名はservicewechat.comです。
- 同一生成元ポリシーの問題であると推測されます。バックグラウンドをサーバーに渡して、クロスドメインソリューションを開きます。
location ~* \.(eot|ttf|woff|woff2|svg)$ {
add_header Access-Control-Allow-Origin *;
}
- 上記のコードを設定した後、font-faceとloadFontFaceを使用してフォントAndroidをインポートすると効果的です。