python 逆向生成正则表达式_用Python中的正则表达式生成lis

我有一个小脚本,用来产生一个预定义的字体和文本图像。我想将其更改为使用多种字体来呈现相同的文本,例如字母A以5种字体呈现。我将我的字体列表定义为:

fonts = [ 'Georgia', 'Consolas', 'Arial']

然后我把它用在:for item in enumerate(fonts) :

...

我想用所有的例如Times New Roman家族字体生成列表。我试图用正则表达式生成列表,但没有成功。我真的不知道如何将它嵌入到列表中(用引号,在开头和结尾加/等等)

我尝试过这样的方法:fonts = [ '/^.Times.*$/' ]和这个{},但没有成功。在

第二个问题是当我想使用3个单词的字体,比如Luicida Console Regular,然后我得到了这个错误:

^{pr2}$

脚本似乎只从字体名称中获取两个单词。在

编辑def main ():

surface = cairo.ImageSurface (cairo.FORMAT_ARGB32, WIDTH, HEIGHT)

context = cairo.Context (surface)

source = context.get_source ()

font = sys.argv[1]

fonts = [ 'Georgia', 'Consolas', 'Arial', 'Lucida Console', 'Times New Roman' ]

output = sys.argv[2]

text = sys.argv[3]

background = cairo.SolidPattern (255, 255, 255)

context.rectangle (0, 0, WIDTH, HEIGHT)

context.set_source (background)

context.fill ()

pangctx = pangocairo.CairoContext (context)

layout = pangctx.create_layout ()

layout.set_width ((WIDTH - 2 * PADDING) * pango.SCALE)

layout.set_single_paragraph_mode (True)

layout.set_wrap (pango.WRAP_CHAR)

size = 40 * pango.SCALE

spacing = 10 * pango.SCALE

markup = ''

for index, item in enumerate(fonts):

print index, item

markup += '' + text +''

layout.set_markup (markup)

pangctx.update_layout (layout)

context.new_path ()

context.move_to (PADDING, PADDING)

context.set_source (source)

context.set_source_rgb (0, 0, 0)

pangctx.show_layout (layout)

surface.write_to_png (output)

编辑

似乎这仍然是pango中的一个bug launchpad link

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值