com.aspose.words
Class StreamFontSource

java.lang.Object
  extended by FontSourceBase
      extended by com.aspose.words.StreamFontSource
All Implemented Interfaces:
com.aspose.words.internal.zzO4, com.aspose.words.internal.zzO2

public abstract class StreamFontSource 
extends FontSourceBase

Base class for user-defined stream font source.

In order to use the stream font source you should create a derived class from the StreamFontSource and provide implementation of the openFontDataStream() method.

openFontDataStream() method could be called several times. For the first time it will be called when Aspose.Words scans the provided font sources to get the list of available fonts. Later it may be called if the font is used in the document to parse the font data and to embed the font data to some output formats.

StreamFontSource may be useful because it allows to load the font data only when it is required and not to store it in the memory for the FontSettings lifetime.


Property Getters/Setters Summary
intgetPriority()→ inherited from FontSourceBase
           Returns the font source priority.
intgetType()
           Returns the type of the font source. The value of the property is FontSourceType integer constant.
 
Method Summary
java.util.ArrayList<PhysicalFontInfo>getAvailableFonts()→ inherited from FontSourceBase
           Returns list of fonts available via this source.
abstract System.IO.StreamopenFontDataStream()
           This method should open the stream with font data on demand.
 

Property Getters/Setters Detail

getPriority

→ inherited from FontSourceBase
public int getPriority()
Returns the font source priority.

This value is used when there are fonts with the same family name and style in different font sources. In this case Aspose.Words selects the font from the source with the higher priority value.

The default value is 0.

Example:

Shows how to create a file font source.
Document doc = new Document();

// Create a font settings object for our document
doc.setFontSettings(new FontSettings());

// Create a font source from a file in our system
FileFontSource fileFontSource = new FileFontSource(getMyDir() + "Alte DIN 1451 Mittelschrift.ttf", 0);

// Import the font source into our document
doc.getFontSettings().setFontsSources(new FontSourceBase[]{fileFontSource});

Assert.assertEquals(fileFontSource.getFilePath(), getMyDir() + "Alte DIN 1451 Mittelschrift.ttf");
Assert.assertEquals(fileFontSource.getType(), FontSourceType.FONT_FILE);
Assert.assertEquals(fileFontSource.getPriority(), 0);

getType

public int getType()
Returns the type of the font source. The value of the property is FontSourceType integer constant.

Method Detail

getAvailableFonts

→ inherited from FontSourceBase
public java.util.ArrayList<PhysicalFontInfogetAvailableFonts()
Returns list of fonts available via this source.

Example:

Shows how to get available fonts and information about them.
// Add a new folder source which will instruct Aspose.Words to search the following folder for fonts.
FontSourceBase[] folderFontSource = {new FolderFontSource(getMyDir() + "MyFonts\\", true)};

for (PhysicalFontInfo fontInfo : folderFontSource[0].getAvailableFonts()) {
    System.out.println(MessageFormat.format("FontFamilyName : {0}", fontInfo.getFontFamilyName()));
    System.out.println(MessageFormat.format("FullFontName  : {0}", fontInfo.getFullFontName()));
    System.out.println(MessageFormat.format("Version  : {0}", fontInfo.getVersion()));
    System.out.println(MessageFormat.format("FilePath : {0}\n", fontInfo.getFilePath()));
}

openFontDataStream

public abstract System.IO.Stream openFontDataStream()
                                       throws java.lang.Exception
This method should open the stream with font data on demand. The stream will be closed after reading. There is no need to close it explicitly.
Returns:
Font data stream.

See Also:
          Aspose.Words Documentation - the home page for the Aspose.Words Product Documentation.
          Aspose.Words Support Forum - our preferred method of support.