com.aspose.words

  • java.lang.Object
    • com.aspose.words.Font
public class Font 
extends java.lang.Object

Contains font attributes (font name, font size, color, and so on) for an object.

You do not create instances of the Font class directly. You just use Font to access the font properties of the various objects such as Run, Paragraph, Style, DocumentBuilder.

Example:

Inserts a String surrounded by a border into a document.
DocumentBuilder builder = new DocumentBuilder();

builder.getFont().getBorder().setColor(Color.GREEN);
builder.getFont().getBorder().setLineWidth(2.5);
builder.getFont().getBorder().setLineStyle(LineStyle.DASH_DOT_STROKER);

builder.write("run of text in a green border");

Example:

Shows how to add a formatted run of text to a document using the object model.
// Create an empty document. It contains one empty paragraph.
Document doc = new Document();

// Create a new run of text.
Run run = new Run(doc, "Hello");

// Specify character formatting for the run of text.
Font f = run.getFont();
f.setName("Courier New");
f.setSize(36);
f.setHighlightColor(Color.YELLOW);

// Append the run of text to the end of the first paragraph
// in the body of the first section of the document.
doc.getFirstSection().getBody().getFirstParagraph().appendChild(run);

Example:

Shows how to create and use a paragraph style with list formatting.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Create a paragraph style and specify some formatting for it.
Style style = doc.getStyles().add(StyleType.PARAGRAPH, "MyStyle1");
style.getFont().setSize(24);
style.getFont().setName("Verdana");
style.getParagraphFormat().setSpaceAfter(12);

// Create a list and make sure the paragraphs that use this style will use this list.
style.getListFormat().setList(doc.getLists().add(ListTemplate.BULLET_DEFAULT));
style.getListFormat().setListLevelNumber(0);

// Apply the paragraph style to the current paragraph in the document and add some text.
builder.getParagraphFormat().setStyle(style);
builder.writeln("Hello World: MyStyle1, bulleted.");

// Change to a paragraph style that has no list formatting.
builder.getParagraphFormat().setStyle(doc.getStyles().get("Normal"));
builder.writeln("Hello World: Normal.");

builder.getDocument().save(getMyDir() + "\\Artifacts\\Lists.ParagraphStyleBulleted.doc");

Property Getters/Setters Summary
booleangetAllCaps()
void
setAllCaps(booleanvalue)
           True if the font is formatted as all capital letters.
java.awt.ColorgetAutoColor()
Returns the present calculated color of the text (black or white) to be used for 'auto color'. If the color is not 'auto' then returns Color.
booleangetBidi()
void
setBidi(booleanvalue)
           Specifies whether the contents of this run shall have right-to-left characteristics.
booleangetBold()
void
setBold(booleanvalue)
           True if the font is formatted as bold.
booleangetBoldBi()
void
setBoldBi(booleanvalue)
           True if the right-to-left text is formatted as bold.
BordergetBorder()
Returns a Border object that specifies border for the font.
java.awt.ColorgetColor()
void
setColor(java.awt.Colorvalue)
           Gets or sets the color of the font.
booleangetComplexScript()
void
setComplexScript(booleanvalue)
           Specifies whether the contents of this run shall be treated as complex script text regardless of their Unicode character values when determining the formatting for this run.
booleangetDoubleStrikeThrough()
void
           True if the font is formatted as double strikethrough text.
booleangetEmboss()
void
setEmboss(booleanvalue)
           True if the font is formatted as embossed.
booleangetEngrave()
void
setEngrave(booleanvalue)
           True if the font is formatted as engraved.
booleangetHidden()
void
setHidden(booleanvalue)
           True if the font is formatted as hidden text.
java.awt.ColorgetHighlightColor()
void
setHighlightColor(java.awt.Colorvalue)
           Gets or sets the highlight (marker) color.
booleangetItalic()
void
setItalic(booleanvalue)
           True if the font is formatted as italic.
booleangetItalicBi()
void
setItalicBi(booleanvalue)
           True if the right-to-left text is formatted as italic.
doublegetKerning()
void
setKerning(doublevalue)
           Gets or sets the font size at which kerning starts.
intgetLocaleId()
void
setLocaleId(intvalue)
           Gets or sets the locale identifier (language) of the formatted characters.
intgetLocaleIdBi()
void
setLocaleIdBi(intvalue)
           Gets or sets the locale identifier (language) of the formatted right-to-left characters.
intgetLocaleIdFarEast()
void
           Gets or sets the locale identifier (language) of the formatted Asian characters.
java.lang.StringgetName()
void
setName(java.lang.Stringvalue)
           Gets or sets the name of the font.
java.lang.StringgetNameAscii()
void
setNameAscii(java.lang.Stringvalue)
           Returns or sets the font used for Latin text (characters with character codes from 0 (zero) through 127).
java.lang.StringgetNameBi()
void
setNameBi(java.lang.Stringvalue)
           Returns or sets the name of the font in a right-to-left language document.
java.lang.StringgetNameFarEast()
void
setNameFarEast(java.lang.Stringvalue)
           Returns or sets an East Asian font name.
java.lang.StringgetNameOther()
void
setNameOther(java.lang.Stringvalue)
           Returns or sets the font used for characters with character codes from 128 through 255.
booleangetNoProofing()
void
setNoProofing(booleanvalue)
           True when the formatted characters are not to be spell checked.
booleangetOutline()
void
setOutline(booleanvalue)
           True if the font is formatted as outline.
doublegetPosition()
void
setPosition(doublevalue)
           Gets or sets the position of text (in points) relative to the base line. A positive number raises the text, and a negative number lowers it.
intgetScaling()
void
setScaling(intvalue)
           Gets or sets character width scaling in percent.
ShadinggetShading()
Returns a Shading object that refers to the shading formatting for the font.
booleangetShadow()
void
setShadow(booleanvalue)
           True if the font is formatted as shadowed.
doublegetSize()
void
setSize(doublevalue)
           Gets or sets the font size in points.
doublegetSizeBi()
void
setSizeBi(doublevalue)
           Gets or sets the font size in points used in a right-to-left document.
booleangetSmallCaps()
void
setSmallCaps(booleanvalue)
           True if the font is formatted as small capital letters.
doublegetSpacing()
void
setSpacing(doublevalue)
           Returns or sets the spacing (in points) between characters .
booleangetStrikeThrough()
void
setStrikeThrough(booleanvalue)
           True if the font is formatted as strikethrough text.
StylegetStyle()
void
setStyle(Style value)
           Gets or sets the character style applied to this formatting.
intgetStyleIdentifier()
void
           Gets or sets the locale independent style identifier of the character style applied to this formatting. The value of the property is StyleIdentifier integer constant.
java.lang.StringgetStyleName()
void
setStyleName(java.lang.Stringvalue)
           Gets or sets the name of the character style applied to this formatting.
booleangetSubscript()
void
setSubscript(booleanvalue)
           True if the font is formatted as subscript.
booleangetSuperscript()
void
setSuperscript(booleanvalue)
           True if the font is formatted as superscript.
intgetTextEffect()
void
setTextEffect(intvalue)
           Gets or sets the font animation effect. The value of the property is TextEffect integer constant.
intgetUnderline()
void
setUnderline(intvalue)
           Gets or sets the type of underline applied to the font. The value of the property is Underline integer constant.
java.awt.ColorgetUnderlineColor()
void
setUnderlineColor(java.awt.Colorvalue)
           Gets or sets the color of the underline applied to the font.
 
Method Summary
voidclearFormatting()
Resets to default font formatting.
 

    • Property Getters/Setters Detail

      • getAllCaps/setAllCaps

        public boolean getAllCaps() / public void setAllCaps(boolean value)
        
        True if the font is formatted as all capital letters.

        Example:

        Shows how to use all capitals and small capitals character formatting properties.
        // Create an empty document. It contains one empty paragraph.
        Document doc = new Document();
        
        // Get the paragraph from the document, we will be adding runs of text to it.
        Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 0, true);
        
        Run run = new Run(doc, "All capitals");
        run.getFont().setAllCaps(true);
        para.appendChild(run);
        
        run = new Run(doc, "SMALL CAPITALS");
        run.getFont().setSmallCaps(true);
        para.appendChild(run);
      • getAutoColor

        public java.awt.Color getAutoColor()
        
        Returns the present calculated color of the text (black or white) to be used for 'auto color'. If the color is not 'auto' then returns Color.

        When text has 'automatic color', the actual color of text is calculated automatically so that it is readable against the background color. As you change the background color, the text color will automatically switch to black or white in MS Word to maximize legibility.

        Example:

        Shows how calculated color of the text (black or white) to be used for 'auto color'
        Run run = new Run(new Document());
        
        // Remove direct color, so it can be calculated automatically with Font.AutoColor.
        run.getFont().setColor(new Color(0, 0, 0, 0));
        
        // When we set black color for background, autocolor for font must be white
        run.getFont().getShading().setBackgroundPatternColor(Color.BLACK);
        Assert.assertEquals(Color.WHITE, run.getFont().getAutoColor());
        
        // When we set white color for background, autocolor for font must be black
        run.getFont().getShading().setBackgroundPatternColor(Color.WHITE);
        Assert.assertEquals(Color.BLACK, run.getFont().getAutoColor());
      • getBidi/setBidi

        public boolean getBidi() / public void setBidi(boolean value)
        
        Specifies whether the contents of this run shall have right-to-left characteristics.

        This property, when on, shall not be used with strongly left-to-right text. Any behavior under that condition is unspecified. This property, when off, shall not be used with strong right-to-left text. Any behavior under that condition is unspecified.

        When the contents of this run are displayed, all characters shall be treated as complex script characters for formatting purposes. This means that BoldBi, ItalicBi, SizeBi and a corresponding font name will be used when rendering this run.

        Also, when the contents of this run are displayed, this property acts as a right-to-left override for characters which are classified as "weak types" and "neutral types".

        Example:

        Shows how to insert and format right-to-left text.
        DocumentBuilder builder = new DocumentBuilder();
        
        // Signal to Microsoft Word that this run of text contains right-to-left text.
        builder.getFont().setBidi(true);
        
        // Specify the font and font size to be used for the right-to-left text.
        builder.getFont().setNameBi("Andalus");
        builder.getFont().setSizeBi(48);
        
        // Specify that the right-to-left text in this run is bold and italic.
        builder.getFont().setItalicBi(true);
        builder.getFont().setBoldBi(true);
        
        // Specify the locale so Microsoft Word recognizes this text as Arabic - Saudi Arabia.
        // For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx
        builder.getFont().setLocaleIdBi(1025);
        
        // Insert some Arabic text.
        builder.writeln("مرحبًا");
        
        builder.getDocument().save(getMyDir() + "\\Artifacts\\Font.Bidi.doc");
      • getBold/setBold

        public boolean getBold() / public void setBold(boolean value)
        
        True if the font is formatted as bold.

        Example:

        Inserts formatted text using DocumentBuilder.
        DocumentBuilder builder = new DocumentBuilder();
        
        // Specify font formatting before adding text.
        Font font = builder.getFont();
        font.setSize(16);
        font.setBold(true);
        font.setColor(Color.BLUE);
        font.setName("Arial");
        font.setUnderline(Underline.DASH);
        
        builder.write("Sample text.");
      • getBoldBi/setBoldBi

        public boolean getBoldBi() / public void setBoldBi(boolean value)
        
        True if the right-to-left text is formatted as bold.

        Example:

        Shows how to insert and format right-to-left text.
        DocumentBuilder builder = new DocumentBuilder();
        
        // Signal to Microsoft Word that this run of text contains right-to-left text.
        builder.getFont().setBidi(true);
        
        // Specify the font and font size to be used for the right-to-left text.
        builder.getFont().setNameBi("Andalus");
        builder.getFont().setSizeBi(48);
        
        // Specify that the right-to-left text in this run is bold and italic.
        builder.getFont().setItalicBi(true);
        builder.getFont().setBoldBi(true);
        
        // Specify the locale so Microsoft Word recognizes this text as Arabic - Saudi Arabia.
        // For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx
        builder.getFont().setLocaleIdBi(1025);
        
        // Insert some Arabic text.
        builder.writeln("مرحبًا");
        
        builder.getDocument().save(getMyDir() + "\\Artifacts\\Font.Bidi.doc");
      • getBorder

        public Border getBorder()
        
        Returns a Border object that specifies border for the font.

        Example:

        Inserts a String surrounded by a border into a document.
        DocumentBuilder builder = new DocumentBuilder();
        
        builder.getFont().getBorder().setColor(Color.GREEN);
        builder.getFont().getBorder().setLineWidth(2.5);
        builder.getFont().getBorder().setLineStyle(LineStyle.DASH_DOT_STROKER);
        
        builder.write("run of text in a green border");
      • getColor/setColor

        public java.awt.Color getColor() / public void setColor(java.awt.Color value)
        
        Gets or sets the color of the font.

        Example:

        Inserts formatted text using DocumentBuilder.
        DocumentBuilder builder = new DocumentBuilder();
        
        // Specify font formatting before adding text.
        Font font = builder.getFont();
        font.setSize(16);
        font.setBold(true);
        font.setColor(Color.BLUE);
        font.setName("Arial");
        font.setUnderline(Underline.DASH);
        
        builder.write("Sample text.");

        Example:

        Inserts a hyperlink into a document using DocumentBuilder.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        builder.write("Please make sure to visit ");
        
        // Specify font formatting for the hyperlink.
        builder.getFont().setColor(Color.BLUE);
        builder.getFont().setUnderline(Underline.SINGLE);
        // Insert the link.
        builder.insertHyperlink("Aspose Website", "http://www.aspose.com", false);
        
        // Revert to default formatting.
        builder.getFont().clearFormatting();
        
        builder.write(" for more information.");
        
        doc.save(getMyDir() + "\\Artifacts\\DocumentBuilder.InsertHyperlink.doc");
      • getComplexScript/setComplexScript

        public boolean getComplexScript() / public void setComplexScript(boolean value)
        
        Specifies whether the contents of this run shall be treated as complex script text regardless of their Unicode character values when determining the formatting for this run.
      • getDoubleStrikeThrough/setDoubleStrikeThrough

        public boolean getDoubleStrikeThrough() / public void setDoubleStrikeThrough(boolean value)
        
        True if the font is formatted as double strikethrough text.

        Example:

        Shows how to use strike-through character formatting properties.
        // Create an empty document. It contains one empty paragraph.
        Document doc = new Document();
        
        // Get the paragraph from the document, we will be adding runs of text to it.
        Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 0, true);
        
        Run run = new Run(doc, "Double strike through text");
        run.getFont().setDoubleStrikeThrough(true);
        para.appendChild(run);
        
        run = new Run(doc, "Single strike through text");
        run.getFont().setStrikeThrough(true);
        para.appendChild(run);
      • getEmboss/setEmboss

        public boolean getEmboss() / public void setEmboss(boolean value)
        
        True if the font is formatted as embossed.

        Example:

        Shows how to create a run of formatted text.
        Run run = new Run(doc, "Hello");
        run.getFont().setEmboss(true);
        run.getFont().setItalic(true);
      • getEngrave/setEngrave

        public boolean getEngrave() / public void setEngrave(boolean value)
        
        True if the font is formatted as engraved.

        Example:

        Shows how to create a run of text formatted as engraved.
        Run run = new Run(doc, "Hello");
        run.getFont().setEngrave(true);
      • getHidden/setHidden

        public boolean getHidden() / public void setHidden(boolean value)
        
        True if the font is formatted as hidden text.

        Example:

        Shows how to create a hidden run of text.
        Run run = new Run(doc, "Hello");
        run.getFont().setHidden(true);

        Example:

        Implements the Visitor Pattern to remove all content formatted as hidden from the document.
        public void removeHiddenContentFromDocument() throws Exception
        {
            // Open the document we want to remove hidden content from.
            Document doc = new Document(getMyDir() + "Font.Hidden.doc");
        
            // Create an object that inherits from the DocumentVisitor class.
            RemoveHiddenContentVisitor hiddenContentRemover = new RemoveHiddenContentVisitor();
        
            // This is the well known Visitor pattern. Get the model to accept a visitor.
            // The model will iterate through itself by calling the corresponding methods
            // on the visitor object (this is called visiting).
        
            // We can run it over the entire the document like so:
            doc.accept(hiddenContentRemover);
        
            // Or we can run it on only a specific node.
            Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 4, true);
            para.accept(hiddenContentRemover);
        
            // Or over a different type of node like below.
            Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
            table.accept(hiddenContentRemover);
        
            doc.save(getMyDir() + "\\Artifacts\\Font.Hidden.doc");
        
        }
        
        /**
         * This class when executed will remove all hidden content from the Document. Implemented as a Visitor.
         */
        private class RemoveHiddenContentVisitor extends DocumentVisitor
        {
            /**
             * Called when a FieldStart node is encountered in the document.
             */
            public int visitFieldStart(FieldStart fieldStart) throws Exception
            {
                // If this node is hidden, then remove it.
                if (isHidden(fieldStart)) fieldStart.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when a FieldEnd node is encountered in the document.
             */
            public int visitFieldEnd(FieldEnd fieldEnd) throws Exception
            {
                if (isHidden(fieldEnd)) fieldEnd.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when a FieldSeparator node is encountered in the document.
             */
            public int visitFieldSeparator(FieldSeparator fieldSeparator) throws Exception
            {
                if (isHidden(fieldSeparator)) fieldSeparator.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when a Run node is encountered in the document.
             */
            public int visitRun(Run run) throws Exception
            {
                if (isHidden(run)) run.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when a Paragraph node is encountered in the document.
             */
            public int visitParagraphStart(Paragraph paragraph) throws Exception
            {
                if (isHidden(paragraph)) paragraph.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when a FormField is encountered in the document.
             */
            public int visitFormField(FormField field) throws Exception
            {
                if (isHidden(field)) field.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when a GroupShape is encountered in the document.
             */
            public int visitGroupShapeStart(GroupShape groupShape) throws Exception
            {
                if (isHidden(groupShape)) groupShape.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when a Shape is encountered in the document.
             */
            public int visitShapeStart(Shape shape) throws Exception
            {
                if (isHidden(shape)) shape.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when a Comment is encountered in the document.
             */
            public int visitCommentStart(Comment comment) throws Exception
            {
                if (isHidden(comment)) comment.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when a Footnote is encountered in the document.
             */
            public int visitFootnoteStart(Footnote footnote) throws Exception
            {
                if (isHidden(footnote)) footnote.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when visiting of a Table node is ended in the document.
             */
            public int visitTableEnd(Table table)
            {
                // At the moment there is no way to tell if a particular Table/Row/Cell is hidden.
                // Instead, if the content of a table is hidden, then all inline child nodes of the table should be
                // hidden and thus removed by previous visits as well. This will result in the container being empty
                // so if this is the case we know to remove the table node.
                //
                // Note that a table which is not hidden but simply has no content will not be affected by this algorthim,
                // as technically they are not completely empty (for example a properly formed Cell will have at least
                // an empty paragraph in it)
                if (!table.hasChildNodes()) table.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when visiting of a Cell node is ended in the document.
             */
            public int visitCellEnd(Cell cell)
            {
                if (!cell.hasChildNodes() && cell.getParentNode() != null) cell.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when visiting of a Row node is ended in the document.
             */
            public int visitRowEnd(Row row)
            {
                if (!row.hasChildNodes() && row.getParentNode() != null) row.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Called when a SpecialCharacter is encountered in the document.
             */
            public int visitSpecialChar(SpecialChar character) throws Exception
            {
                if (isHidden(character)) character.remove();
        
                return VisitorAction.CONTINUE;
            }
        
            /**
             * Returns true if the node passed is set as hidden, returns false if it is visible.
             */
            private boolean isHidden(Node node)
            {
                if (node instanceof Inline)
                {
                    // If the node is Inline then cast it to retrieve the Font property which contains the hidden property
                    Inline currentNode = (Inline) node;
                    return currentNode.getFont().getHidden();
                } else if (node.getNodeType() == NodeType.PARAGRAPH)
                {
                    // If the node is a paragraph cast it to retrieve the ParagraphBreakFont which contains the hidden property
                    Paragraph para = (Paragraph) node;
                    return para.getParagraphBreakFont().getHidden();
                } else if (node instanceof ShapeBase)
                {
                    // Node is a shape or groupshape.
                    ShapeBase shape = (ShapeBase) node;
                    return shape.getFont().getHidden();
                } else if (node instanceof InlineStory)
                {
                    // Node is a comment or footnote.
                    InlineStory inlineStory = (InlineStory) node;
                    return inlineStory.getFont().getHidden();
                }
        
                // A node that is passed to this method which does not contain a hidden property will end up here.
                // By default nodes are not hidden so return false.
                return false;
            }
        }
      • getHighlightColor/setHighlightColor

        public java.awt.Color getHighlightColor() / public void setHighlightColor(java.awt.Color value)
        
        Gets or sets the highlight (marker) color.

        Example:

        Shows how to add a formatted run of text to a document using the object model.
        // Create an empty document. It contains one empty paragraph.
        Document doc = new Document();
        
        // Create a new run of text.
        Run run = new Run(doc, "Hello");
        
        // Specify character formatting for the run of text.
        Font f = run.getFont();
        f.setName("Courier New");
        f.setSize(36);
        f.setHighlightColor(Color.YELLOW);
        
        // Append the run of text to the end of the first paragraph
        // in the body of the first section of the document.
        doc.getFirstSection().getBody().getFirstParagraph().appendChild(run);
      • getItalic/setItalic

        public boolean getItalic() / public void setItalic(boolean value)
        
        True if the font is formatted as italic.

        Example:

        Shows how to create a run of formatted text.
        Run run = new Run(doc, "Hello");
        run.getFont().setEmboss(true);
        run.getFont().setItalic(true);
      • getItalicBi/setItalicBi

        public boolean getItalicBi() / public void setItalicBi(boolean value)
        
        True if the right-to-left text is formatted as italic.

        Example:

        Shows how to insert and format right-to-left text.
        DocumentBuilder builder = new DocumentBuilder();
        
        // Signal to Microsoft Word that this run of text contains right-to-left text.
        builder.getFont().setBidi(true);
        
        // Specify the font and font size to be used for the right-to-left text.
        builder.getFont().setNameBi("Andalus");
        builder.getFont().setSizeBi(48);
        
        // Specify that the right-to-left text in this run is bold and italic.
        builder.getFont().setItalicBi(true);
        builder.getFont().setBoldBi(true);
        
        // Specify the locale so Microsoft Word recognizes this text as Arabic - Saudi Arabia.
        // For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx
        builder.getFont().setLocaleIdBi(1025);
        
        // Insert some Arabic text.
        builder.writeln("مرحبًا");
        
        builder.getDocument().save(getMyDir() + "\\Artifacts\\Font.Bidi.doc");
      • getKerning/setKerning

        public double getKerning() / public void setKerning(double value)
        
        Gets or sets the font size at which kerning starts.

        Example:

        Shows how to specify the font size at which kerning starts.
        Run run = new Run(doc, "Hello");
        run.getFont().setKerning(24);
      • getLocaleId/setLocaleId

        public int getLocaleId() / public void setLocaleId(int value)
        
        Gets or sets the locale identifier (language) of the formatted characters. For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx

        Example:

        Shows how to specify the language of a text run so Microsoft Word can use a proper spell checker.
        //Create a run of text that contains Russian text.
        Run run = new Run(doc, "Привет");
        
        //Specify the locale so Microsoft Word recognizes this text as Russian.
        //For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx
        run.getFont().setLocaleId(1049);
      • getLocaleIdBi/setLocaleIdBi

        public int getLocaleIdBi() / public void setLocaleIdBi(int value)
        
        Gets or sets the locale identifier (language) of the formatted right-to-left characters. For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx

        Example:

        Shows how to insert and format right-to-left text.
        DocumentBuilder builder = new DocumentBuilder();
        
        // Signal to Microsoft Word that this run of text contains right-to-left text.
        builder.getFont().setBidi(true);
        
        // Specify the font and font size to be used for the right-to-left text.
        builder.getFont().setNameBi("Andalus");
        builder.getFont().setSizeBi(48);
        
        // Specify that the right-to-left text in this run is bold and italic.
        builder.getFont().setItalicBi(true);
        builder.getFont().setBoldBi(true);
        
        // Specify the locale so Microsoft Word recognizes this text as Arabic - Saudi Arabia.
        // For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx
        builder.getFont().setLocaleIdBi(1025);
        
        // Insert some Arabic text.
        builder.writeln("مرحبًا");
        
        builder.getDocument().save(getMyDir() + "\\Artifacts\\Font.Bidi.doc");
      • getLocaleIdFarEast/setLocaleIdFarEast

        public int getLocaleIdFarEast() / public void setLocaleIdFarEast(int value)
        
        Gets or sets the locale identifier (language) of the formatted Asian characters. For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx

        Example:

        Shows how to insert and format text in Chinese or any other Far East language.
        DocumentBuilder builder = new DocumentBuilder();
        
        builder.getFont().setSize(48);
        
        // Specify the font name. Make sure it the font has the glyphs that you want to display.
        builder.getFont().setNameFarEast("SimSun");
        
        // Specify the locale so Microsoft Word recognizes this text as Chinese.
        // For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx
        builder.getFont().setLocaleIdFarEast(2052);
        
        // Insert some Chinese text.
        builder.writeln("你好世界");
        
        builder.getDocument().save(getMyDir() + "\\Artifacts\\Font.FarEast.doc");
      • getName/setName

        public java.lang.String getName() / public void setName(java.lang.String value)
        
        Gets or sets the name of the font.

        When getting, returns NameAscii.

        When setting, sets NameAscii, NameBi, NameFarEast and NameOther to the specified value.

        Example:

        Inserts formatted text using DocumentBuilder.
        DocumentBuilder builder = new DocumentBuilder();
        
        // Specify font formatting before adding text.
        Font font = builder.getFont();
        font.setSize(16);
        font.setBold(true);
        font.setColor(Color.BLUE);
        font.setName("Arial");
        font.setUnderline(Underline.DASH);
        
        builder.write("Sample text.");

        Example:

        Shows how to add a formatted run of text to a document using the object model.
        // Create an empty document. It contains one empty paragraph.
        Document doc = new Document();
        
        // Create a new run of text.
        Run run = new Run(doc, "Hello");
        
        // Specify character formatting for the run of text.
        Font f = run.getFont();
        f.setName("Courier New");
        f.setSize(36);
        f.setHighlightColor(Color.YELLOW);
        
        // Append the run of text to the end of the first paragraph
        // in the body of the first section of the document.
        doc.getFirstSection().getBody().getFirstParagraph().appendChild(run);
      • getNameAscii/setNameAscii

        public java.lang.String getNameAscii() / public void setNameAscii(java.lang.String value)
        
        Returns or sets the font used for Latin text (characters with character codes from 0 (zero) through 127).

        Example:

        A pretty unusual example of how Microsoft Word can combine two different fonts in one run.
        DocumentBuilder builder = new DocumentBuilder();
        
        // This tells Microsoft Word to use Arial for characters 0..127 and
        // Times New Roman for characters 128..255.
        // Looks like a pretty strange case to me, but it is possible.
        builder.getFont().setNameAscii("Arial");
        builder.getFont().setNameOther("Times New Roman");
        
        builder.writeln("Hello, Привет");
        
        builder.getDocument().save(getMyDir() + "\\Artifacts\\Font.Names.doc");
        See Also:
        Name
      • getNameBi/setNameBi

        public java.lang.String getNameBi() / public void setNameBi(java.lang.String value)
        
        Returns or sets the name of the font in a right-to-left language document.

        Example:

        Shows how to insert and format right-to-left text.
        DocumentBuilder builder = new DocumentBuilder();
        
        // Signal to Microsoft Word that this run of text contains right-to-left text.
        builder.getFont().setBidi(true);
        
        // Specify the font and font size to be used for the right-to-left text.
        builder.getFont().setNameBi("Andalus");
        builder.getFont().setSizeBi(48);
        
        // Specify that the right-to-left text in this run is bold and italic.
        builder.getFont().setItalicBi(true);
        builder.getFont().setBoldBi(true);
        
        // Specify the locale so Microsoft Word recognizes this text as Arabic - Saudi Arabia.
        // For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx
        builder.getFont().setLocaleIdBi(1025);
        
        // Insert some Arabic text.
        builder.writeln("مرحبًا");
        
        builder.getDocument().save(getMyDir() + "\\Artifacts\\Font.Bidi.doc");
        See Also:
        Name
      • getNameFarEast/setNameFarEast

        public java.lang.String getNameFarEast() / public void setNameFarEast(java.lang.String value)
        
        Returns or sets an East Asian font name.

        Example:

        Shows how to insert and format text in Chinese or any other Far East language.
        DocumentBuilder builder = new DocumentBuilder();
        
        builder.getFont().setSize(48);
        
        // Specify the font name. Make sure it the font has the glyphs that you want to display.
        builder.getFont().setNameFarEast("SimSun");
        
        // Specify the locale so Microsoft Word recognizes this text as Chinese.
        // For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx
        builder.getFont().setLocaleIdFarEast(2052);
        
        // Insert some Chinese text.
        builder.writeln("你好世界");
        
        builder.getDocument().save(getMyDir() + "\\Artifacts\\Font.FarEast.doc");
        See Also:
        Name
      • getNameOther/setNameOther

        public java.lang.String getNameOther() / public void setNameOther(java.lang.String value)
        
        Returns or sets the font used for characters with character codes from 128 through 255.

        Example:

        A pretty unusual example of how Microsoft Word can combine two different fonts in one run.
        DocumentBuilder builder = new DocumentBuilder();
        
        // This tells Microsoft Word to use Arial for characters 0..127 and
        // Times New Roman for characters 128..255.
        // Looks like a pretty strange case to me, but it is possible.
        builder.getFont().setNameAscii("Arial");
        builder.getFont().setNameOther("Times New Roman");
        
        builder.writeln("Hello, Привет");
        
        builder.getDocument().save(getMyDir() + "\\Artifacts\\Font.Names.doc");
        See Also:
        Name
      • getNoProofing/setNoProofing

        public boolean getNoProofing() / public void setNoProofing(boolean value)
        
        True when the formatted characters are not to be spell checked.

        Example:

        Shows how to specify that the run of text is not to be spell checked by Microsoft Word.
        Run run = new Run(doc, "Hello");
        run.getFont().setNoProofing(true);
      • getOutline/setOutline

        public boolean getOutline() / public void setOutline(boolean value)
        
        True if the font is formatted as outline.

        Example:

        Shows how to create a run of text formatted as outline.
        Run run = new Run(doc, "Hello");
        run.getFont().setOutline(true);
      • getPosition/setPosition

        public double getPosition() / public void setPosition(double value)
        
        Gets or sets the position of text (in points) relative to the base line. A positive number raises the text, and a negative number lowers it.

        Example:

        Shows how to use subscript, superscript and baseline text position properties.
        // Create an empty document. It contains one empty paragraph.
        Document doc = new Document();
        
        // Get the paragraph from the document, we will be adding runs of text to it.
        Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 0, true);
        
        // Add a run of text that is raised 5 points above the baseline.
        Run run = new Run(doc, "Raised text");
        run.getFont().setPosition(5);
        para.appendChild(run);
        
        // Add a run of normal text.
        run = new Run(doc, "Normal text");
        para.appendChild(run);
        
        // Add a run of text that appears as subscript.
        run = new Run(doc, "Subscript");
        run.getFont().setSubscript(true);
        para.appendChild(run);
        
        // Add a run of text that appears as superscript.
        run = new Run(doc, "Superscript");
        run.getFont().setSuperscript(true);
        para.appendChild(run);
      • getScaling/setScaling

        public int getScaling() / public void setScaling(int value)
        
        Gets or sets character width scaling in percent.

        Example:

        Shows how to use character scaling and spacing properties.
        // Create an empty document. It contains one empty paragraph.
        Document doc = new Document();
        
        // Get the paragraph from the document, we will be adding runs of text to it.
        Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 0, true);
        
        // Add a run of text with characters 150% width of normal characters.
        Run run = new Run(doc, "Wide characters");
        run.getFont().setScaling(150);
        para.appendChild(run);
        
        // Add a run of text with extra 1pt space between characters.
        run = new Run(doc, "Expanded by 1pt");
        run.getFont().setSpacing(1);
        para.appendChild(run);
        
        // Add a run of text with space between characters reduced by 1pt.
        run = new Run(doc, "Condensed by 1pt");
        run.getFont().setSpacing(-1);
        para.appendChild(run);
      • getShading

        public Shading getShading()
        
        Returns a Shading object that refers to the shading formatting for the font.

        Example:

        Shows how to apply shading for a run of text.
        DocumentBuilder builder = new DocumentBuilder();
        
        Shading shd = builder.getFont().getShading();
        shd.setTexture(TextureIndex.TEXTURE_DIAGONAL_CROSS);
        shd.setBackgroundPatternColor(Color.BLUE);
        shd.setForegroundPatternColor(new Color(138, 43, 226)); // Violet-blue
        
        builder.getFont().setColor(Color.WHITE);
        
        builder.writeln("White text on a blue background with texture.");
      • getShadow/setShadow

        public boolean getShadow() / public void setShadow(boolean value)
        
        True if the font is formatted as shadowed.

        Example:

        Shows how to create a run of text formatted with a shadow.
        Run run = new Run(doc, "Hello");
        run.getFont().setEngrave(true);
      • getSize/setSize

        public double getSize() / public void setSize(double value)
        
        Gets or sets the font size in points.

        Example:

        Inserts formatted text using DocumentBuilder.
        DocumentBuilder builder = new DocumentBuilder();
        
        // Specify font formatting before adding text.
        Font font = builder.getFont();
        font.setSize(16);
        font.setBold(true);
        font.setColor(Color.BLUE);
        font.setName("Arial");
        font.setUnderline(Underline.DASH);
        
        builder.write("Sample text.");

        Example:

        Shows how to add a formatted run of text to a document using the object model.
        // Create an empty document. It contains one empty paragraph.
        Document doc = new Document();
        
        // Create a new run of text.
        Run run = new Run(doc, "Hello");
        
        // Specify character formatting for the run of text.
        Font f = run.getFont();
        f.setName("Courier New");
        f.setSize(36);
        f.setHighlightColor(Color.YELLOW);
        
        // Append the run of text to the end of the first paragraph
        // in the body of the first section of the document.
        doc.getFirstSection().getBody().getFirstParagraph().appendChild(run);
      • getSizeBi/setSizeBi

        public double getSizeBi() / public void setSizeBi(double value)
        
        Gets or sets the font size in points used in a right-to-left document.

        Example:

        Shows how to insert and format right-to-left text.
        DocumentBuilder builder = new DocumentBuilder();
        
        // Signal to Microsoft Word that this run of text contains right-to-left text.
        builder.getFont().setBidi(true);
        
        // Specify the font and font size to be used for the right-to-left text.
        builder.getFont().setNameBi("Andalus");
        builder.getFont().setSizeBi(48);
        
        // Specify that the right-to-left text in this run is bold and italic.
        builder.getFont().setItalicBi(true);
        builder.getFont().setBoldBi(true);
        
        // Specify the locale so Microsoft Word recognizes this text as Arabic - Saudi Arabia.
        // For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx
        builder.getFont().setLocaleIdBi(1025);
        
        // Insert some Arabic text.
        builder.writeln("مرحبًا");
        
        builder.getDocument().save(getMyDir() + "\\Artifacts\\Font.Bidi.doc");
      • getSmallCaps/setSmallCaps

        public boolean getSmallCaps() / public void setSmallCaps(boolean value)
        
        True if the font is formatted as small capital letters.

        Example:

        Shows how to use all capitals and small capitals character formatting properties.
        // Create an empty document. It contains one empty paragraph.
        Document doc = new Document();
        
        // Get the paragraph from the document, we will be adding runs of text to it.
        Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 0, true);
        
        Run run = new Run(doc, "All capitals");
        run.getFont().setAllCaps(true);
        para.appendChild(run);
        
        run = new Run(doc, "SMALL CAPITALS");
        run.getFont().setSmallCaps(true);
        para.appendChild(run);
      • getSpacing/setSpacing

        public double getSpacing() / public void setSpacing(double value)
        
        Returns or sets the spacing (in points) between characters .

        Example:

        Shows how to use character scaling and spacing properties.
        // Create an empty document. It contains one empty paragraph.
        Document doc = new Document();
        
        // Get the paragraph from the document, we will be adding runs of text to it.
        Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 0, true);
        
        // Add a run of text with characters 150% width of normal characters.
        Run run = new Run(doc, "Wide characters");
        run.getFont().setScaling(150);
        para.appendChild(run);
        
        // Add a run of text with extra 1pt space between characters.
        run = new Run(doc, "Expanded by 1pt");
        run.getFont().setSpacing(1);
        para.appendChild(run);
        
        // Add a run of text with space between characters reduced by 1pt.
        run = new Run(doc, "Condensed by 1pt");
        run.getFont().setSpacing(-1);
        para.appendChild(run);
      • getStrikeThrough/setStrikeThrough

        public boolean getStrikeThrough() / public void setStrikeThrough(boolean value)
        
        True if the font is formatted as strikethrough text.

        Example:

        Shows how to use strike-through character formatting properties.
        // Create an empty document. It contains one empty paragraph.
        Document doc = new Document();
        
        // Get the paragraph from the document, we will be adding runs of text to it.
        Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 0, true);
        
        Run run = new Run(doc, "Double strike through text");
        run.getFont().setDoubleStrikeThrough(true);
        para.appendChild(run);
        
        run = new Run(doc, "Single strike through text");
        run.getFont().setStrikeThrough(true);
        para.appendChild(run);
      • getStyle/setStyle

        public Style getStyle() / public void setStyle(Style value)
        
        Gets or sets the character style applied to this formatting.

        Example:

        Applies double underline to all runs in a document that are formatted with custom character styles.
        Document doc = new Document(getMyDir() + "Font.Style.doc");
        
        // Select all run nodes in the document.
        NodeCollection runs = doc.getChildNodes(NodeType.RUN, true);
        
        // Loop through every run node.
        for (Run run : (Iterable<Run>) runs)
        {
            Style charStyle = run.getFont().getStyle();
        
            // If the style of the run is not a built-in character style, apply double underline.
            if (!charStyle.getBuiltIn()) run.getFont().setUnderline(Underline.DOUBLE);
        }
        
        doc.save(getMyDir() + "\\Artifacts\\Font.Style.doc");
      • getStyleIdentifier/setStyleIdentifier

        public int getStyleIdentifier() / public void setStyleIdentifier(int value)
        
        Gets or sets the locale independent style identifier of the character style applied to this formatting. The value of the property is StyleIdentifier integer constant.

        Example:

        Shows how to use style identifier to find text formatted with a specific character style and apply different character style.
        Document doc = new Document(getMyDir() + "Font.StyleIdentifier.doc");
        
        // Select all run nodes in the document.
        NodeCollection runs = doc.getChildNodes(NodeType.RUN, true);
        
        // Loop through every run node.
        for (Run run : (Iterable<Run>) runs)
        {
            // If the character style of the run is what we want, do what we need. Change the style in this case.
            // Note that using StyleIdentifier we can identify a built-in style regardless
            // of the language of Microsoft Word used to create the document.
            if (run.getFont().getStyleIdentifier() == StyleIdentifier.EMPHASIS)
                run.getFont().setStyleIdentifier(StyleIdentifier.STRONG);
        }
        
        doc.save(getMyDir() + "\\Artifacts\\Font.StyleIdentifier.doc");
      • getStyleName/setStyleName

        public java.lang.String getStyleName() / public void setStyleName(java.lang.String value)
        
        Gets or sets the name of the character style applied to this formatting.

        Example:

        Shows how to use style name to find text formatted with a specific character style and apply different character style.
        Document doc = new Document(getMyDir() + "Font.StyleName.doc");
        
        // Select all run nodes in the document.
        NodeCollection runs = doc.getChildNodes(NodeType.RUN, true);
        
        // Loop through every run node.
        for (Run run : (Iterable<Run>) runs)
        {
            // If the character style of the run is what we want, do what we need. Change the style in this case.
            // Note that names of built in styles could be different in documents
            // created by Microsoft Word versions for different languages.
            if (run.getFont().getStyleName().equals("Emphasis")) run.getFont().setStyleName("Strong");
        }
        
        doc.save(getMyDir() + "\\Artifacts\\Font.StyleName.doc");
      • getSubscript/setSubscript

        public boolean getSubscript() / public void setSubscript(boolean value)
        
        True if the font is formatted as subscript.

        Example:

        Shows how to use subscript, superscript and baseline text position properties.
        // Create an empty document. It contains one empty paragraph.
        Document doc = new Document();
        
        // Get the paragraph from the document, we will be adding runs of text to it.
        Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 0, true);
        
        // Add a run of text that is raised 5 points above the baseline.
        Run run = new Run(doc, "Raised text");
        run.getFont().setPosition(5);
        para.appendChild(run);
        
        // Add a run of normal text.
        run = new Run(doc, "Normal text");
        para.appendChild(run);
        
        // Add a run of text that appears as subscript.
        run = new Run(doc, "Subscript");
        run.getFont().setSubscript(true);
        para.appendChild(run);
        
        // Add a run of text that appears as superscript.
        run = new Run(doc, "Superscript");
        run.getFont().setSuperscript(true);
        para.appendChild(run);
      • getSuperscript/setSuperscript

        public boolean getSuperscript() / public void setSuperscript(boolean value)
        
        True if the font is formatted as superscript.

        Example:

        Shows how to use subscript, superscript and baseline text position properties.
        // Create an empty document. It contains one empty paragraph.
        Document doc = new Document();
        
        // Get the paragraph from the document, we will be adding runs of text to it.
        Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 0, true);
        
        // Add a run of text that is raised 5 points above the baseline.
        Run run = new Run(doc, "Raised text");
        run.getFont().setPosition(5);
        para.appendChild(run);
        
        // Add a run of normal text.
        run = new Run(doc, "Normal text");
        para.appendChild(run);
        
        // Add a run of text that appears as subscript.
        run = new Run(doc, "Subscript");
        run.getFont().setSubscript(true);
        para.appendChild(run);
        
        // Add a run of text that appears as superscript.
        run = new Run(doc, "Superscript");
        run.getFont().setSuperscript(true);
        para.appendChild(run);
      • getTextEffect/setTextEffect

        public int getTextEffect() / public void setTextEffect(int value)
        
        Gets or sets the font animation effect. The value of the property is TextEffect integer constant.
      • getUnderline/setUnderline

        public int getUnderline() / public void setUnderline(int value)
        
        Gets or sets the type of underline applied to the font. The value of the property is Underline integer constant.

        Example:

        Shows how use the underline character formatting properties.
        Run run = new Run(doc, "Hello");
        run.getFont().setUnderline(Underline.DOTTED);
        run.getFont().setUnderlineColor(Color.RED);

        Example:

        Inserts formatted text using DocumentBuilder.
        DocumentBuilder builder = new DocumentBuilder();
        
        // Specify font formatting before adding text.
        Font font = builder.getFont();
        font.setSize(16);
        font.setBold(true);
        font.setColor(Color.BLUE);
        font.setName("Arial");
        font.setUnderline(Underline.DASH);
        
        builder.write("Sample text.");

        Example:

        Inserts a hyperlink into a document using DocumentBuilder.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        builder.write("Please make sure to visit ");
        
        // Specify font formatting for the hyperlink.
        builder.getFont().setColor(Color.BLUE);
        builder.getFont().setUnderline(Underline.SINGLE);
        // Insert the link.
        builder.insertHyperlink("Aspose Website", "http://www.aspose.com", false);
        
        // Revert to default formatting.
        builder.getFont().clearFormatting();
        
        builder.write(" for more information.");
        
        doc.save(getMyDir() + "\\Artifacts\\DocumentBuilder.InsertHyperlink.doc");
      • getUnderlineColor/setUnderlineColor

        public java.awt.Color getUnderlineColor() / public void setUnderlineColor(java.awt.Color value)
        
        Gets or sets the color of the underline applied to the font.

        Example:

        Shows how use the underline character formatting properties.
        Run run = new Run(doc, "Hello");
        run.getFont().setUnderline(Underline.DOTTED);
        run.getFont().setUnderlineColor(Color.RED);
    • Method Detail

      • clearFormatting

        public void clearFormatting()
        Resets to default font formatting.

        Removes all font formatting specified explicitly on the object from which Font was obtained so the font formatting will be inherited from the appropriate parent.

        Example:

        Inserts a hyperlink into a document using DocumentBuilder.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        builder.write("Please make sure to visit ");
        
        // Specify font formatting for the hyperlink.
        builder.getFont().setColor(Color.BLUE);
        builder.getFont().setUnderline(Underline.SINGLE);
        // Insert the link.
        builder.insertHyperlink("Aspose Website", "http://www.aspose.com", false);
        
        // Revert to default formatting.
        builder.getFont().clearFormatting();
        
        builder.write(" for more information.");
        
        doc.save(getMyDir() + "\\Artifacts\\DocumentBuilder.InsertHyperlink.doc");