def handle_emphasis(self, start, tag_style, parent_style):
    'handles various text emphases'
    tag_emphasis = google_text_emphasis(tag_style)
    parent_emphasis = google_text_emphasis(parent_style)
    strikethrough = (('line-through' in tag_emphasis) and self.hide_strikethrough)
    bold = (('bold' in tag_emphasis) and (not ('bold' in parent_emphasis)))
    italic = (('italic' in tag_emphasis) and (not ('italic' in parent_emphasis)))
    fixed = (google_fixed_width_font(tag_style) and (not google_fixed_width_font(parent_style)) and (not self.pre))
    if start:
        if (bold or italic or fixed):
            self.emphasis += 1
        if strikethrough:
            self.quiet += 1
        if italic:
            self.o(self.emphasis_mark)
            self.drop_white_space += 1
        if bold:
            self.o(self.strong_mark)
            self.drop_white_space += 1
        if fixed:
            self.o('`')
            self.drop_white_space += 1
            self.code = True
    else:
        if (bold or italic or fixed):
            self.emphasis -= 1
            self.space = 0
            self.outtext = self.outtext.rstrip()
        if fixed:
            if self.drop_white_space:
                self.drop_last(1)
                self.drop_white_space -= 1
            else:
                self.o('`')
            self.code = False
        if bold:
            if self.drop_white_space:
                self.drop_last(2)
                self.drop_white_space -= 1
            else:
                self.o(self.strong_mark)
        if italic:
            if self.drop_white_space:
                self.drop_last(1)
                self.drop_white_space -= 1
            else:
                self.o(self.emphasis_mark)
        if ((bold or italic) and (not self.emphasis)):
            self.o(' ')
        if strikethrough:
            self.quiet -= 1
handles various text emphases
def handle_emphasis(self, start, tag_style, parent_style):
    
    tag_emphasis = google_text_emphasis(tag_style)
    parent_emphasis = google_text_emphasis(parent_style)
    strikethrough = (('line-through' in tag_emphasis) and self.hide_strikethrough)
    bold = (('bold' in tag_emphasis) and (not ('bold' in parent_emphasis)))
    italic = (('italic' in tag_emphasis) and (not ('italic' in parent_emphasis)))
    fixed = (google_fixed_width_font(tag_style) and (not google_fixed_width_font(parent_style)) and (not self.pre))
    if start:
        if (bold or italic or fixed):
            self.emphasis += 1
        if strikethrough:
            self.quiet += 1
        if italic:
            self.o(self.emphasis_mark)
            self.drop_white_space += 1
        if bold:
            self.o(self.strong_mark)
            self.drop_white_space += 1
        if fixed:
            self.o('`')
            self.drop_white_space += 1
            self.code = True
    else:
        if (bold or italic or fixed):
            self.emphasis -= 1
            self.space = 0
            self.outtext = self.outtext.rstrip()
        if fixed:
            if self.drop_white_space:
                self.drop_last(1)
                self.drop_white_space -= 1
            else:
                self.o('`')
            self.code = False
        if bold:
            if self.drop_white_space:
                self.drop_last(2)
                self.drop_white_space -= 1
            else:
                self.o(self.strong_mark)
        if italic:
            if self.drop_white_space:
                self.drop_last(1)
                self.drop_white_space -= 1
            else:
                self.o(self.emphasis_mark)
        if ((bold or italic) and (not self.emphasis)):
            self.o(' ')
        if strikethrough:
            self.quiet -= 1