gpt4 book ai didi

ruby - Prawn with some emojis for ttf-font not rendering text correctly

转载 作者:数据小太阳 更新时间:2023-10-29 06:54:55 24 4
gpt4 key购买 nike

我有一个 ruby​​ 脚本来生成带有一些文本的 pdf 文档。文本中包含表情符号。

文本第一行的问题是它打印了三个表情符号,它们被看起来像十字的东西隔开,而实际上它们应该是一个表情符号(三个成员的家庭)。

第二行的问题是它只打印了一个正方形而不是预期的表情符号(嘘脸)。我试过其他一些字体,但还是不行。这些是字体:

似曾相识

IPAM

NotoSans-Medium

我找不到问题

有什么遗漏吗?

我做错了什么吗?

gems 已安装,字体在正确的位置

require "prawn"
require "prawn/emoji"
require "prawn/measurement_extensions"

$pdf = Prawn::Document.new(:page_size => [200.send(:mm),200], :margin => 0)
$pdf.font "./resources/Montserrat-Medium.ttf"

st = "\u{1F468}\u200D\u{1F469}\u200D\u{1F466}".encode("UTF-8")
st2="\u{1F92B}".encode("UTF-8")

$pdf.draw_text st,:at => [10, 100]

$pdf.draw_text st2,:at => [10, 80]

$pdf.render_file "test.pdf"

最佳答案

结果 Prawn 不知道如何解析连接的表情符号(由\u200D 连接的一组简单表情符号组成的表情符号)。 Prawn/emoji 应该这样做,但是用于识别 emoji 的正则表达式存在一个错误,导致连接的 emoji 被单独绘制。

索引和使用的图片库也有点过时了。

解决方案是在 Prawn/表情符号源代码中替换 Drawer 类中的 @emoji_index.to_regexp 为正则表达式,该正则表达式可以识别加入的表情符号并更新表情符号库,然后运行更新索引的任务,然后你很高兴去。

字体与它无关。

关于ruby - Prawn with some emojis for ttf-font not rendering text correctly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52339250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com