Example #1
0
def get_vstems(font):
    ref_glyph = 'l'
    ref_y = font.info.xHeight / 2.0
    g = font[ref_glyph]
    pen = MarginPen(g, ref_y, isHorizontal=True)
    g.draw(pen)
    # try:
    print len(g)
    print ref_y
    print pen.getMargins.__doc__ #, pen.getMargins()
    print pen.getMargins()
    left_edge, right_edge = pen.getMargins()
    stem = right_edge - left_edge
    return [stem]
Example #2
0
def getMargins(g, y):
    pen = MarginPen(g.getParent(), y, True)
    g.draw(pen)
    crossings = pen.getMargins()
    try:
        margins = (round(crossings[0]), g.width - round(crossings[1]))
    except:
        margins = (None, None)
    return margins
def get_stems(font):
    ref_glyph = 'i'
    ref_y = font.info.xHeight / 2
    g = font[ref_glyph]
    pen = MarginPen(g, ref_y, isHorizontal=True)
    g.draw(pen)
    left_edge, right_edge = pen.getMargins()
    stem = right_edge - left_edge
    return [ stem ]
def getMargins(g, y):
	pen = MarginPen(g.getParent(), y, True)
	g.draw(pen)
	crossings = pen.getMargins()
	try:
		margins = (round(crossings[0]), g.width - round(crossings[1]))
	except:
		margins = (None, None)
	return margins
Example #5
0
def get_hstems(font):
    ref_glyph = 'H'
    g = font[ref_glyph]
    ref_x = g.width / 2.0
    pen = MarginPen(g, ref_x, isHorizontal=False)
    g.draw(pen)
    # try:
    bottom_edge, top_edge = pen.getMargins()
    stem = top_edge - bottom_edge
    return [stem]
Example #6
0
def get_vstems(font, glyphs=['l', 'I']):
    ref_y = font.info.xHeight / 2.0
    stems = []
    for glyph_name in glyphs:
        if font.has_key(glyph_name):
            g = font[glyph_name]
            # get margins
            pen = MarginPen(g, ref_y, isHorizontal=True)
            g.draw(pen)
            # calculate stem from margins
            try:
                left_edge, right_edge = pen.getMargins()
                stem = int(right_edge - left_edge)
                stems.append(stem)
            except:
                pass # glyph is empty
    return stems
Example #7
0
def get_hstems(font, glyphs=['H']):
    stems = []
    for glyph_name in glyphs:
        if font.has_key(glyph_name):
            g = font[glyph_name]
            ref_x = g.width / 2.0
            # get margins
            pen = MarginPen(g, ref_x, isHorizontal=False)
            g.draw(pen)
            # calculate stem from margins
            try:
                bottom_edge, top_edge = pen.getMargins()
                stem = int(top_edge - bottom_edge)
                stems.append(stem)
            except:
                pass # glyph is empty
    return stems
Example #8
0
def get_vstems(font, glyphs=['l', 'I']):
    ref_y = font.info.xHeight / 2.0
    stems = []
    for glyph_name in glyphs:
        if glyph_name in font:
            g = font[glyph_name]
            # get margins
            pen = MarginPen(g, ref_y, isHorizontal=True)
            g.draw(pen)
            # calculate stem from margins
            try:
                left_edge, right_edge = pen.getMargins()
                stem = int(right_edge - left_edge)
                stems.append(stem)
            except:
                pass  # glyph is empty
    return stems
Example #9
0
def get_hstems(font, glyphs=['H']):
    stems = []
    for glyph_name in glyphs:
        if glyph_name in font:
            g = font[glyph_name]
            ref_x = g.width / 2.0
            # get margins
            pen = MarginPen(g, ref_x, isHorizontal=False)
            g.draw(pen)
            # calculate stem from margins
            try:
                bottom_edge, top_edge = pen.getMargins()
                stem = int(top_edge - bottom_edge)
                stems.append(stem)
            except:
                pass  # glyph is empty
    return stems