diff options
author | Walter Bender <walter@walter-laptop.(none)> | 2010-01-11 20:37:35 (GMT) |
---|---|---|
committer | Walter Bender <walter@walter-laptop.(none)> | 2010-01-11 20:37:35 (GMT) |
commit | db3d25f9db71f6332336b851098e50ee9bc2b2c3 (patch) | |
tree | 1a3d8528daf2a1b4a6f394e8f0639bdce5a2fafe /gencards.py | |
parent | e1590f9e97b69e61182ccdc543288795a80d3d2d (diff) |
fileless svg generation
Diffstat (limited to 'gencards.py')
-rw-r--r-- | gencards.py | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/gencards.py b/gencards.py index 892275b..fd1e174 100644 --- a/gencards.py +++ b/gencards.py @@ -214,17 +214,18 @@ def svg_star(n, x, y, stroke, fill): def background(stroke,fill,width): return svg_rect(124.5,74.5,11,9,0.25,0.25,stroke,fill,width) -def header(stroke,fill,width): +def header(stroke,fill,width,scale): svg_string = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n" svg_string += "<!-- Created with Emacs -->\n" svg_string += "<svg\n" svg_string += " xmlns:svg=\"http://www.w3.org/2000/svg\"\n" svg_string += " xmlns=\"http://www.w3.org/2000/svg\"\n" svg_string += " version=\"1.0\"\n" - svg_string += " width=\"125\"\n" - svg_string += " height=\"75\">\n" + svg_string += "%s%f%s" % (" width=\"",125*scale,"\"\n") + svg_string += "%s%f%s" % (" height=\"",75*scale,"\">\n") + svg_string += "%s%f%s%f%s" % ("<g\n transform=\"matrix(",scale, + ",0,0,",scale,",0,0)\">\n") svg_string += background(stroke,fill,width) - svg_string += "<g>\n" return svg_string def footer(): @@ -484,37 +485,38 @@ def pattern_card(t, c, n, s): # # Card generators # -def generate_pattern_card(t,c,n,s): - svg_string = header(BLACK,color_pairs[c][1],0.5) +def generate_pattern_card(t,c,n,s,scale): + svg_string = header(BLACK,color_pairs[c][1],0.5,scale) svg_string += pattern_card(card_types[t],color_pairs[c],n+1,fill_styles[s]) svg_string += footer() return svg_string -def generate_number_card(t,c,n,s,mO,mC): +def generate_number_card(t,c,n,s,number_types,scale): stab = {0:5,1:7,2:11} methodO = [number_roman, number_product, number_chinese, number_word] methodC = [dots_in_a_line, dots_in_a_circle, points_in_a_star,\ number_hash, dice] methodX = number_arabic - svg_string = header(BLACK,color_pairs[c][1],0.5) + svg_string = header(BLACK,color_pairs[c][1],0.5,scale) svg_string += number_card(t,(n+1)*stab[s],color_pairs[c][0], - methodX,methodO[mO],methodC[mC]) + methodX,methodO[number_types[0]], + methodC[number_types[1]]) svg_string += footer() return svg_string -def generate_word_card(t,c,n,s): - svg_string = header(BLACK,color_pairs[c][1],0.5) +def generate_word_card(t,c,n,s,scale): + svg_string = header(BLACK,color_pairs[c][1],0.5,scale) svg_string += word_card(t,color_pairs[c],n,word_styles[s]) svg_string += footer() return svg_string -def generate_match_card(): - svg_string = header("#A0A0A0","#F0F0F0",3.0) +def generate_match_card(scale): + svg_string = header("#A0A0A0","#F0F0F0",3.0,scale) svg_string += footer() return svg_string -def generate_selected_card(): - svg_string = header(BLACK,"none",3.0) +def generate_selected_card(scale): + svg_string = header(BLACK,"none",3.0,scale) svg_string += footer() return svg_string @@ -526,7 +528,7 @@ def close_file(f): def generator(datapath,mO=PRODUCT,mC=HASH): generate_pattern_cards(datapath) - generate_number_cards(datapath,mO,mC) + generate_number_cards(datapath,[mO,mC]) generate_word_cards(datapath) generate_extras(datapath) @@ -538,11 +540,11 @@ def generate_pattern_cards(datapath): for s in range(3): filename = "pattern-%d.svg" % (i) f = open_file(datapath, filename) - f.write(generate_pattern_card(t,c,n,s)) + f.write(generate_pattern_card(t,c,n,s,1)) close_file(f) i += 1 -def generate_number_cards(datapath,mO,mC): +def generate_number_cards(datapath,number_types): i = 0 for t in range(3): for c in range(3): @@ -550,7 +552,7 @@ def generate_number_cards(datapath,mO,mC): for s in range(3): filename = "number-%d.svg" % (i) f = open_file(datapath, filename) - f.write(generate_number_card(t,c,n,s,mO,mC)) + f.write(generate_number_card(t,c,n,s,number_types,1)) close_file(f) i += 1 @@ -562,16 +564,16 @@ def generate_word_cards(datapath): for s in range(3): filename = "word-%d.svg" % (i) f = open_file(datapath, filename) - f.write(generate_word_card(t,c,n,s)) + f.write(generate_word_card(t,c,n,s,1)) close_file(f) i += 1 def generate_extras(datapath): f = open_file(datapath, "match.svg") - f.write(generate_match_card()) + f.write(generate_match_card(1)) close_file(f) f = open_file(datapath, "selected.svg") - f.write(generate_selected_card()) + f.write(generate_selected_card(1)) close_file(f) def main(): |