首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用github回购中的包中的字体?

如何使用github回购中的包中的字体?
EN

Stack Overflow用户
提问于 2022-08-18 19:14:20
回答 1查看 64关注 0票数 2

我正在创建一个内部使用的图标库。以下是包结构:

代码语言:javascript
运行
复制
company_icons_flutter
  lib
    icon_font
      company_icons.ttf
    widgets
      company_icons.dart
    company_icons_flutter.dart
  example
    pubspec.yaml
    everything else from standard flutter create

我使用包https://pub.dev/packages/icon_font_generator从svg图标文件夹生成字体和类文件。

company_icons_flutter.dart如下:

代码语言:javascript
运行
复制
library company_icons_flutter;

export 'widgets/company_icons.dart';

在示例项目中,我包含了一个网格视图,其中列出了包中的所有图标。示例项目的pubspec.yaml如下所示:

代码语言:javascript
运行
复制
name: example
publish_to: "none"

environment:
  sdk: ">=2.17.6 <3.0.0"

  flutter:
    sdk: flutter

  cupertino_icons: ^1.0.2

  company_icons_flutter:
    path: ../

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  fonts:
    - family: CompanyIcons
      fonts:
        - asset: packages/company_icons_flutter/icon_font/company_icons.ttf

这是很好的工作,我可以看到所有的图标出现在网格中。

我要摆脱的地方是尝试使用这个包从一个新的项目。为了方便这一点,我已经将包推到了GitHub上的一个私有回购程序中。新项目的pubspec.yaml如下:

代码语言:javascript
运行
复制
name: new_project
publish_to: "none"

environment:
  sdk: ">=2.17.6 <3.0.0"

  flutter:
    sdk: flutter

  cupertino_icons: ^1.0.2

  company_icons_flutter:
    git:
      url: https://github.com/userName/company_icons_flutter.git
      ref: main

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  fonts:
    - family: CompanyIcons
      fonts:
        - asset: packages/company_icons_flutter/icon_font/company_icons.ttf

该项目构建得很好,它肯定可以在包中看到company_icons.dart文件中的类,但网格视图显示的是矩形列表,而不是实际的图标符号。

有人能帮我找出我哪里出错了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-18 21:23:13

好吧-我自己解决了问题。问题中的一切都是正确的。我忽略的是,在文件company_icons.dart中,我在用于扩展IconsData的类中遗漏了一个属性。以下是我以前的经历:

代码语言:javascript
运行
复制
@immutable
class _CompanyIconsData extends IconData {
  const _CompanyIconsData(int codePoint, this.name)
      : super(codePoint,
            fontFamily: 'CompanyIcons');

  final String name;
}

这就是这件事的原因:

代码语言:javascript
运行
复制
@immutable
class _CompanyIconsData extends IconData {
  const _CompanyIconsData(int codePoint, this.name)
      : super(codePoint,
            fontFamily: 'CompanyIcons', fontPackage: "company_icons_flutter");

  final String name;
}

fontPackage是关键的缺失论点!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73408335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档