MCPcopy Index your code
hub / github.com/clips/pattern / get_widths2

Function get_widths2

pattern/web/pdf/pdffont.py:43–60  ·  view source on GitHub ↗
(seq)

Source from the content-addressed store, hash-verified

41#assert get_widths([1,[2,3],6,[7,8]]) == {1:2,2:3, 6:7,7:8}
42
43def get_widths2(seq):
44 widths = {}
45 r = []
46 for v in seq:
47 if isinstance(v, list):
48 if r:
49 char1 = r[-1]
50 for (i,(w,vx,vy)) in enumerate(choplist(3,v)):
51 widths[char1+i] = (w,(vx,vy))
52 r = []
53 elif isinstance(v, int):
54 r.append(v)
55 if len(r) == 5:
56 (char1,char2,w,vx,vy) = r
57 for i in xrange(char1, char2+1):
58 widths[i] = (w,(vx,vy))
59 r = []
60 return widths
61#assert get_widths2([1]) == {}
62#assert get_widths2([1,2,3,4,5]) == {1:(3,(4,5)), 2:(3,(4,5))}
63#assert get_widths2([1,[2,3,4,5],6,[7,8,9]]) == {1:(2,(3,4)), 6:(7,(8,9))}

Callers 1

__init__Method · 0.85

Calls 3

choplistFunction · 0.90
lenFunction · 0.85
appendMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…