         var selRange:ElementRange = 
             ElementRange.createElementRange(textFlow, absoluteStart, absoluteEnd); 
         
-        var leaf:FlowLeafElement = selRange.firstLeaf;
-        var attr:TextLayoutFormat = new TextLayoutFormat(leaf.computedFormat);
-        
-        // If there is a insertion point, see if there is an interaction
-        // manager with a pending point format.
-        if (anchorPosition != -1 && anchorPosition == activePosition)
-        {
-            if (textFlow.interactionManager)
-            {
-                var selectionState:SelectionState = 
-                    textFlow.interactionManager.getSelectionState();                
-                if (selectionState.pointFormat)
-                    attr.apply(selectionState.pointFormat);
-            }
-        }
-        else
-        {
-            for (;;)
-            {
-                if (leaf == selRange.lastLeaf)
-                    break;
-                leaf = leaf.getNextLeaf();
-                attr.removeClashing(leaf.computedFormat);
-            }
-        }
-        
-        return Property.extractInCategory(
-                    TextLayoutFormat, 
-                    TextLayoutFormat.description, 
-                    attr, Category.CHARACTER) as ITextLayoutFormat;
+        return selRange.getCommonCharacterFormat();
     }
     
     /**


        var selRange:ElementRange = 
            ElementRange.createElementRange(textFlow, absoluteStart, absoluteEnd); 
        
        var para:ParagraphElement = selRange.firstParagraph;
        var attr:TextLayoutFormat = new TextLayoutFormat(para.computedFormat);
        for (;;)
        {
            if (para == selRange.lastParagraph)
                break;
            
            para = textFlow.findAbsoluteParagraph(
                            para.getAbsoluteStart() + para.textLength);
            attr.removeClashing(para.computedFormat);
        }
        
        return Property.extractInCategory(TextLayoutFormat,
                    TextLayoutFormat.description,
                    attr, Category.PARAGRAPH) as ITextLayoutFormat;
    }
    
    /**

        if (!event.isDefaultPrevented())
            super.keyUpHandler(event);
    }
        
    /**
     *  @private
     */
