菜单

核心组件

相关源文件

目的与范围

本文档详细介绍了 Font Awesome 的基本构建块,解释了构成 Font Awesome 框架的主要组件:图标、字体和代码实现。有关这些组件的许可信息,请参阅许可

Font Awesome 由三个核心组件组成,每个组件都有不同的用途并受单独的许可约束。理解这些组件对于有效使用 Font Awesome 和为项目做出贡献至关重要。

来源: README.md73-79

Font Awesome 组件概述

来源: README.md74-79 composer.json18-22

图标组件

图标是代表概念、对象或动作的视觉元素。它们是 Font Awesome 提供的主要内容。

格式与结构

Font Awesome 图标有两种主要格式交付

  1. SVG 文件:矢量图形,可以无损缩放
  2. JavaScript 文件:作为 JavaScript 对象提供的图标定义,可以导入到 JS 应用程序中

许可

Font Awesome Free 中的所有图标均根据知识共享署名 4.0 国际许可协议 (CC BY 4.0) 发布。这适用于所有打包为 .svg 和 .js 文件类型的图标。

来源: README.md74-75

字体组件

字体组件由 Web 和桌面字体文件组成,这些文件包含图标作为字形,便于集成到项目中。

格式与结构

Font Awesome 提供多种格式的字体

  1. Web 字体:针对 Web 使用进行了优化(.woff2, .woff)
  2. 桌面字体:针对桌面应用程序进行了优化(.ttf, .otf)

许可

Font Awesome Free 中的所有字体文件均根据 SIL 开源字体许可证 1.1 (SIL OFL 1.1) 发布。这适用于所有打包为 Web 和桌面字体文件的图标。

来源: README.md76-77

代码组件

代码组件由所有非字体和非图标文件组成,这些文件使得 Font Awesome 能够正常运行,包括 CSS 和 JavaScript 实现。

Web 实现

Web 实现包括

  1. CSS 文件:图标的样式和显示规则
  2. JavaScript:高级功能的实现
  3. Kit:Font Awesome 的托管服务,便于集成
  4. CDN:用于快速加载的内容分发网络

桌面实现

桌面实现支持

  1. 原生应用程序:与原生操作系统应用程序的集成
  2. 桌面应用程序:与跨平台桌面应用程序的集成

许可

Font Awesome Free 中的所有代码文件(非字体和非图标文件)均根据 MIT 许可协议发布。

来源: README.md78-79

组件集成

下图说明了三个核心组件如何集成以创建功能性的 Font Awesome 实现

来源: README.md71-89

署名要求

由于 Font Awesome 组件的许可,需要注明出处

  • 图标 (CC BY 4.0):需要注明出处
  • 字体 (SIL OFL 1.1):需要注明出处,并且不能单独销售
  • 代码 (MIT):需要注明出处

Font Awesome Free 文件已包含嵌入式注释,提供足够的出处信息,因此在正常使用这些文件时通常不需要额外注明。

来源: README.md81-88

组件使用表

下表总结了每个组件的典型用法

组件文件类型常见用例许可证
图标.svg, .js直接 SVG 包含,React 组件,Vue 组件CC BY 4.0
字体.woff2, .ttf, .otfWeb 字体 CSS,桌面应用程序SIL OFL 1.1
代码.css, .jsWeb 样式,JavaScript 框架,DOM 操作MIT

来源: README.md74-79 composer.json3-4

分发方式

Font Awesome 组件通过多种渠道进行分发

  1. NPM 包:适用于 JavaScript 和 Node.js 项目
  2. PHP Composer:适用于 PHP 项目
  3. CDN:用于直接 Web 引入
  4. 直接下载:用于手动实现

每种分发方式都包含所有三个核心组件:图标、字体和代码。

来源: composer.json1-22