Skip to content

chars()

此函数属于 Iconify Tools 中的 IconSet 类。

chars() 函数用于导出字符映射。该函数由 export() 函数调用,用于将字符映射添加到 IconifyJSON 数据中。

用法

该函数包含一个参数:

  • namesstring[]。可选。要检查的图标列表。

函数返回一个简单的 Record<string,string> 对象。键为十六进制格式的字符(例如 "u1f3cc"),值为图标名称。

字符映射

字符映射的作用是什么?

它用于生成图标字体。图标字体中的每个图标都会分配一个字符。即使使用连字,连字也会指向一个字符,因此字符是必需的。

如何为图标分配字符?

你可以使用 toggleCharacter() 方法为图标分配字符。

示例

chars-example.ts
tsimport { blankIconSet } from '@iconify/tools';

// Create icon set, add few icons and characters
const iconSet = blankIconSet('test-prefix');

iconSet.setIcon('add', {
   body: '<path d="M14 7v1H8v6H7V8H1V7h6V1h1v6h6z"/>',
});
iconSet.toggleCharacter('add', 'f001', true);

iconSet.setIcon('triangle-left', {
   body: '<g fill="currentColor"><path d="M10.44 2l.56.413v11.194l-.54.393L5 8.373v-.827L10.44 2z"/></g>',
});
iconSet.toggleCharacter('triangle-left', 'f002', true);

iconSet.setVariation('triangle-right', 'triangle-left', {
   hFlip: true,
});
iconSet.toggleCharacter('triangle-right', 'f003', true);

// Set character for icon that does not exist (will fail)
iconSet.toggleCharacter('whatever', 'f005', true);

// Export characters map
console.log(iconSet.chars());

// Characters map is also exported in export():
console.log(iconSet.export());
chars() result:
json{
   "f001": "add",
   "f002": "triangle-left",
   "f003": "triangle-right"
}
export() result:
json{
   "prefix": "test-prefix",
   "icons": {
       "add": { "body": "<path d=\"M14 7v1H8v6H7V8H1V7h6V1h1v6h6z\"/>" },
       "triangle-left": {
           "body": "<g fill=\"currentColor\"><path d=\"M10.44 2l.56.413v11.194l-.54.393L5 8.373v-.827L10.44 2z\"/></g>"
       }
   },
   "aliases": {
       "triangle-right": { "parent": "triangle-left", "hFlip": true }
   },
   "chars": {
       "f001": "add",
       "f002": "triangle-left",
       "f003": "triangle-right"
   }
}