虾::图标
虾:: 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: <icon size=\"20\" color=\"AAAAAA\">fas-beer</icon>\' , inline_format : true end
生产:
使用inline_format: true时,您可以提供带有color和size属性的<icon> 。
与大虾一起使用::表
当创建表数据阵列以在表单元格中渲染图标时,可以调用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文件。
