def _processGlyph(G, truncate=1, pathReverse=0): O = [] P = [] R = [] for g in G + (('end', ), ): op = g[0] if O and op in ['moveTo', 'moveToClosed', 'end']: if O[0] == 'moveToClosed': O = O[1:] if pathReverse: for i in range(0, len(P), 2): P[i + 1], P[i] = P[i:i + 2] P.reverse() O.reverse() O.insert(0, 'moveTo') O.append('closePath') i = 0 if truncate: P = list(map(_pathNumTrunc, P)) for o in O: j = i + _PATH_OP_ARG_COUNT[_PATH_OP_NAMES.index(o)] if o == 'closePath': R.append(o) else: R.append((o, ) + tuple(P[i:j])) i = j O = [] P = [] O.append(op) P.extend(g[1:]) return R
def _processGlyph(G, truncate=1, pathReverse=0): O = [] P = [] R = [] for g in G + (("end",),): op = g[0] if O and op in ["moveTo", "moveToClosed", "end"]: if O[0] == "moveToClosed": O = O[1:] if pathReverse: for i in range(0, len(P), 2): P[i + 1], P[i] = P[i : i + 2] P.reverse() O.reverse() O.insert(0, "moveTo") O.append("closePath") i = 0 if truncate: P = list(map(_pathNumTrunc, P)) for o in O: j = i + _PATH_OP_ARG_COUNT[_PATH_OP_NAMES.index(o)] if o == "closePath": R.append(o) else: R.append((o,) + tuple(P[i:j])) i = j O = [] P = [] O.append(op) P.extend(g[1:]) return R
def _processGlyph(G, truncate=1, pathReverse=0): O = [] P = [] R = [] for g in G+(('end',),): op = g[0] if O and op in ['moveTo', 'moveToClosed','end']: if O[0]=='moveToClosed': O = O[1:] if pathReverse: for i in xrange(0,len(P),2): P[i+1], P[i] = P[i:i+2] P.reverse() O.reverse() O.insert(0,'moveTo') O.append('closePath') i = 0 if truncate: P = map(_pathNumTrunc,P) for o in O: j = i + _PATH_OP_ARG_COUNT[_PATH_OP_NAMES.index(o)] if o=='closePath': R.append(o) else: R.append((o,)+ tuple(P[i:j])) i = j O = [] P = [] O.append(op) P.extend(g[1:]) return R
def _getSegs(L): n = len(L) i = 0 ops = dict(m='moveTo', l='lineTo', c='curveTo', h='closePath') while i < n: for j in i, i + 2, i + 6: op = L[j] if op in ops: try: opName = ops[op] nargs = _PATH_OP_ARG_COUNT[_PATH_OP_NAMES.index(opName)] yield tuple([opName] + [float(L[i + k]) for k in range(nargs)]) i = j + 1 break except: raise ValueError('Error converting PDFPath at %s' % ' '.join(L[i:i + 6])) else: raise ValueError('Error converting PDFPath at %s' % ' '.join(L[i:i + 6]))