虾::图标
虾:: Icon提供了一种简单的机制,用于从大虾内渲染图标和图标字体。
以下图标字体带有prawn ::图标:
- fontawesome(http://font*aw*e*some.io/icons/)
- 材料设计图标(https://ma*te*ria*lialdesignicons.com/)
- 基金会图标(http://z*urb.co*m/*playground/foundation-icon-fonts-3)
- Paymentfont(https://p*a*ymentfo*nt.com)
虾::图标最初是由杰西·道尔(Jesse Doyle)撰写的。
安装
大虾::图标是通过RubyGems分发的。您可以使用以下命令安装它:
gem install prawn-icon用法
虾:: iCon的设计目的是使大虾熟悉API。单个图标可能会这样呈现:
require 'prawn/icon'
Prawn :: Document . generate ( 'icons.pdf' ) do | pdf |
pdf . icon 'fas-beer' , size : 60
end生产:
内联图标
您还可以提供inline_format: true选项:
require 'prawn/icon'
Prawn :: Document . generate ( 'inline_icons.pdf' ) do | pdf |
pdf . icon 'Enjoy: fas-beer ' , inline_format : true
end生产:
使用inline_format: true时,您可以提供带有color和size属性的 。
与大虾一起使用::表
当创建表数据阵列以在表单元格中渲染图标时,可以调用table_icon方法:
require 'prawn/icon'
require 'prawn/table'
Prawn :: Document . generate ( 'table_icons.pdf' ) do | pdf |
data = [
# Explicit brackets must be used here
[ pdf . table_icon ( 'fas-birthday-cake' ) , 'Cake' ] ,
[ 'is' , 'Great!' ]
]
pdf . table ( data ) # => (2 x 2 table)
end请注意, table_icon方法支持inline_format: true选项。
指定图标家庭
尖锐::图标使用图标键的前缀来确定哪个字体系列用于渲染特定图标。
当前支持的前缀包括:
-
fabFONTAWSOY品牌(例如fab-amazon)。 -
far通用常规(例如,far-address-book)。 -
fasfontawesome固体(例如,fas-location-arrow)。 -
mdi材料设计图标(例如mdi-beer), -
fi基础图标(例如fi-compass)。 -
pf-PaymentFont(例如pf-cash)。
它如何工作
虾::图标使用“传奇”将图标键映射到在字体文件中重新说明特定图标的Unicode字符。
该图例是位于字体目录中的标准.yml文件。
如果您想订购此存储库并添加新字体,则可能需要提供相应的传奇文件。请参阅data/fonts目录中的当前传说文件以获取示例。
例子
包括耙任务以生成显示每个图标及其相应图标键的文档。
命令:
rake legend从prawn ::图标的宝石目录运行时,应生成这些文件。
配置
您可以选择将prawn ::图标配置为使用字体文件的替代数据目录。
Prawn :: Icon . configure do | config |
config . font_directory = '/path/to/my/fonts'
end 图标尺寸模式
一些字体系列(特别是fontawesome 6)定义了可能使图标的大小比要求的大小(如下所述)。
虾:: ICON提供了一个size_mode参数,可用于控制此行为:
-
size_mode: :font_size(默认) - 以通过字体指标计算的大小呈现图标。这可能会导致一个图标,该图标比升华/下降指标所要求的大于要求。 -
size_mode: :icon_height以缩小到请求的尺寸的大小以尺寸呈现图标。
您可以指定大小模式如下:
Prawn :: Document . generate ( 'size_mode.pdf' ) do | pdf |
pdf . icon 'far-circle' , size : 100 , size_mode : :icon_height
end 贡献
我很乐意接受对虾:: Icon中发现的任何错误进行了很好测试的拉动请求。
如果有足够的需求包含特定图标字体,我还将接受拉动请求,将其包含在prawn :: Icon中。
执照
大虾::图标是按照大虾使用的相同条款许可的。
您可以在MATZ的术语,GPLV2或GPLV3之间进行选择。有关详细信息,请参阅许可证,GPLV2和GPLV3文件。
通过命令行克隆项目: