@font-face を使用して Web ページに特殊文字を実装する (カスタム フォントを作成する)

@font-face を使用して Web ページに特殊文字を実装する (カスタム フォントを作成する)

数日前、CSS を使用して三角形の矢印を実装する方法について記事を書きました。 目的の効果は達成されましたが、まだいくつか問題があります。 たとえば、矢印の位置をまだ特定する必要があります。また、現在実現できるのは三角形の矢印のみです。他の文字を使用する場合は、やはり画像を使用する必要があります。そこで最近、もっと良い方法を探していたのですが、ついにそれを見つけました...

まず、C ドライブの Fonts フォルダに移動して WEBDINGS.TTF フォントを探し、デスクトップにコピーします。次に、カスタムフォントを作成する機能を実現できる「fontforge」というソフトウェアが必要です。これを使用して、自分に適したフォントライブラリを作成します。

ダウンロード後、解凍し、WEBDINGS.TTF フォントをコピーし、fontforge.bat を実行してフォント ファイルを選択すると、次のインターフェイスが表示されます。

グラフィックキャラクターが沢山ありますね。それらの多くは以前から使われていたものですが、当時は絵で実装されていたのでしょうか?

次に必要なのは、必要な文字を選択して別のフォント ファイルに保存することです。WEBDINGS.TTF ファイル内の文字のほとんどは使用されていないため、このファイルを文字ライブラリとして直接使用するには少し大きすぎます。したがって、必要なものだけを選択する必要があります。操作するには、まず空のフォント ファイルを作成し、[ファイル] -> [新規] をクリックして、必要な文字を選択して、新しく作成したフォント ファイルにコピーします。例:

次に保存して「フォントの生成」を選択します。

次に、.ttf 拡張子でファイルを保存します。

このようにして、フォント ファイルが準備されます。しかし、これで終わりではありません。IE は .eof しか認識せず .ttf は認識しないため、他のフォント ファイルを生成する必要があります。この問題については、かなり前に記事を書いていて、操作方法は説明されているので、ここでは詳しく紹介しません。記事のリンクは、「Web ページで任意のフォントを使用する実際の操作」です。

最後に、操作が面倒だと感じる場合は、よく使用される矢印を中心にまとめた文字ライブラリをダウンロードできます。
ダウンロード

一般的に、これにより読み込まれるページファイルの合計サイズが増加しますが、独自のキャラクターライブラリがある場合は、操作性がより多様化します。文字のサイズや色、さらには影や反転などの CSS3 効果も制御できますが、画像の色を変更したい場合は、画像を修正するか、新しく作成する必要があり、柔軟性に欠けます。

PS: 私の EonerCMS では、ウィンドウの右上と右下のボタンが文字に置き換えられており、効果はかなり良好です。

PS2: アイデアを提供してくれた @小熊 に感謝します。文字の回転は CSS3 とフィルターで実現できるため、文字ライブラリを作成するときに、4 方向の矢印を 1 つだけ記録し、コードで回転させて、文字ライブラリ ファイルのサイズを縮小することができます。

<<:  docker compose を使用して FastDfs ファイル サーバーをインストールする詳細な例

>>:  HTML ページ スタイルの !-- -- の機能は何ですか?

推薦する

CentOS 7 での Nginx ログタイミング分割の実装手順の詳細説明

1. 分割スクリプト (splitNginxLog.sh) を作成します。 * この例では、ログ分割...

MySQL 8.0 の新機能 - チェック制約の紹介

目次序文チェック制約作成、削除、表示制限要約する序文MySQL 8.0 では、チェック制約という非常...

Vue ファースト スクリーン パフォーマンス最適化コンポーネントの知識ポイントの概要

Vue ファースト スクリーン パフォーマンス最適化コンポーネントVue ファースト スクリーン パ...

MySQL フルテキスト検索の中国語ソリューションとサンプルコード

MySQL 全文検索中国語ソリューション最近、会社のプロジェクトで、データベースで中国語を検索する機...

HTML チュートリアル: よく使われる HTML タグのコレクション (4)

関連記事:初心者が学ぶ HTML タグ (3)導入された HTML タグは、必ずしも XHTML 仕...

React antd タブの切り替えによりサブコンポーネントが繰り返し更新される

説明する: Tabs コンポーネントが切り替わると、TabPane に含まれる同じサブコンポーネント...

JavaScriptはフォームデータの非同期送信を実装します

この記事では、フォームデータの非同期送信を実装するためのJavaScriptの具体的なコードを参考ま...

JS配列メソッドsome、every、findの使用に関する詳細

目次1. いくつか2. すべての3. 見つける1. いくつかsome()メソッドは、指定された関数の...

Vue ページをリフレッシュするために provide と injection を適用する

目次方法1: 関数を直接呼び出す方法2: provide / inject (静的更新) を使用する...

HarborをベースにしたDocker専用倉庫の構築方法

目次1. ハーバーの紹介1. ハーバーが民間倉庫を建設3. 港湾の維持管理4. Harborユーザー...

MySQLエラー10061を解決する方法

この記事では、「'localhost' (10061) の MySQL サーバーに接...

Mysql 文字列の傍受と指定された文字列内のデータの取得

序文: 正規表現のインターセプションに似た、MySql フィールドの文字列から特定の文字を抽出すると...

Linux のハードリンクとソフトリンクの原理と使用法の分析

Linux システムには、ファイル共有を解決するために使用できるリンク ファイルと呼ばれる種類のファ...

HTMLの表のtbodyは上下左右にスライドできます

テーブル ヘッダーが固定されている場合は、それを 2 つのテーブルに分割する必要があります。1 つの...

CSSはリストのスタイルを設定し、ナビゲーションメニューの実装コードを作成します。

1. リストシンボルを設定するlist-style-type: attribute; //リストの...