com.aspose.words
Class FolderFontSource

java.lang.Object
  extended by FontSourceBase
      extended by com.aspose.words.FolderFontSource
All Implemented Interfaces:
com.aspose.words.internal.zzZRj, com.aspose.words.internal.zzZRj

public class FolderFontSource 
extends FontSourceBase

Represents the folder that contains TrueType font files.

Example:

Shows how to use a local system folder which contains fonts as a font source.
// Create a font source from a folder that contains font files.
FolderFontSource folderFontSource = new FolderFontSource(getFontsDir(), false, 1);

Document doc = new Document();
doc.setFontSettings(new FontSettings());
doc.getFontSettings().setFontsSources(new FontSourceBase[]{folderFontSource});

Assert.assertEquals(getFontsDir(), folderFontSource.getFolderPath());
Assert.assertEquals(false, folderFontSource.getScanSubfolders());
Assert.assertEquals(FontSourceType.FONTS_FOLDER, folderFontSource.getType());
Assert.assertEquals(1, folderFontSource.getPriority());

Constructor Summary
FolderFontSource(java.lang.String folderPath, boolean scanSubfolders)
           Ctor.
FolderFontSource(java.lang.String folderPath, boolean scanSubfolders, int priority)
           Ctor.
 
Property Getters/Setters Summary
java.lang.StringgetFolderPath()
           Path to the folder.
intgetPriority()→ inherited from FontSourceBase
           Returns the font source priority.
booleangetScanSubfolders()
           Determines whether or not to scan the subfolders.
intgetType()
           Returns the type of the font source. The value of the property is FontSourceType integer constant.
IWarningCallbackgetWarningCallback()→ inherited from FontSourceBase
voidsetWarningCallback(IWarningCallback value)
           Called during processing of font source when an issue is detected that might result in formatting fidelity loss.
 
Method Summary
java.util.ArrayList<PhysicalFontInfo>getAvailableFonts()→ inherited from FontSourceBase
           Returns list of fonts available via this source.
 

Constructor Detail

FolderFontSource

public FolderFontSource(java.lang.String folderPath, boolean scanSubfolders)
Ctor.
Parameters:
folderPath - Path to folder.
scanSubfolders - Determines whether or not to scan subfolders.

Example:

Shows how to use a local system folder which contains fonts as a font source.
// Create a font source from a folder that contains font files.
FolderFontSource folderFontSource = new FolderFontSource(getFontsDir(), false, 1);

Document doc = new Document();
doc.setFontSettings(new FontSettings());
doc.getFontSettings().setFontsSources(new FontSourceBase[]{folderFontSource});

Assert.assertEquals(getFontsDir(), folderFontSource.getFolderPath());
Assert.assertEquals(false, folderFontSource.getScanSubfolders());
Assert.assertEquals(FontSourceType.FONTS_FOLDER, folderFontSource.getType());
Assert.assertEquals(1, folderFontSource.getPriority());

FolderFontSource

public FolderFontSource(java.lang.String folderPath, boolean scanSubfolders, int priority)
Ctor.
Parameters:
folderPath - Path to folder.
scanSubfolders - Determines whether or not to scan subfolders.
priority - Font source priority. See the Priority property description for more information.

Example:

Shows how to use a local system folder which contains fonts as a font source.
// Create a font source from a folder that contains font files.
FolderFontSource folderFontSource = new FolderFontSource(getFontsDir(), false, 1);

Document doc = new Document();
doc.setFontSettings(new FontSettings());
doc.getFontSettings().setFontsSources(new FontSourceBase[]{folderFontSource});

Assert.assertEquals(getFontsDir(), folderFontSource.getFolderPath());
Assert.assertEquals(false, folderFontSource.getScanSubfolders());
Assert.assertEquals(FontSourceType.FONTS_FOLDER, folderFontSource.getType());
Assert.assertEquals(1, folderFontSource.getPriority());

Property Getters/Setters Detail

getFolderPath

public java.lang.String getFolderPath()
Path to the folder.

Example:

Shows how to use a local system folder which contains fonts as a font source.
// Create a font source from a folder that contains font files.
FolderFontSource folderFontSource = new FolderFontSource(getFontsDir(), false, 1);

Document doc = new Document();
doc.setFontSettings(new FontSettings());
doc.getFontSettings().setFontsSources(new FontSourceBase[]{folderFontSource});

Assert.assertEquals(getFontsDir(), folderFontSource.getFolderPath());
Assert.assertEquals(false, folderFontSource.getScanSubfolders());
Assert.assertEquals(FontSourceType.FONTS_FOLDER, folderFontSource.getType());
Assert.assertEquals(1, folderFontSource.getPriority());

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 use a font file in the local file system as a font source.
FileFontSource fileFontSource = new FileFontSource(getMyDir() + "Alte DIN 1451 Mittelschrift.ttf", 0);

Document doc = new Document();
doc.setFontSettings(new FontSettings());
doc.getFontSettings().setFontsSources(new FontSourceBase[]{fileFontSource});

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

getScanSubfolders

public boolean getScanSubfolders()
Determines whether or not to scan the subfolders.

Example:

Shows how to use a local system folder which contains fonts as a font source.
// Create a font source from a folder that contains font files.
FolderFontSource folderFontSource = new FolderFontSource(getFontsDir(), false, 1);

Document doc = new Document();
doc.setFontSettings(new FontSettings());
doc.getFontSettings().setFontsSources(new FontSourceBase[]{folderFontSource});

Assert.assertEquals(getFontsDir(), folderFontSource.getFolderPath());
Assert.assertEquals(false, folderFontSource.getScanSubfolders());
Assert.assertEquals(FontSourceType.FONTS_FOLDER, folderFontSource.getType());
Assert.assertEquals(1, folderFontSource.getPriority());

getType

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

Example:

Shows how to use a local system folder which contains fonts as a font source.
// Create a font source from a folder that contains font files.
FolderFontSource folderFontSource = new FolderFontSource(getFontsDir(), false, 1);

Document doc = new Document();
doc.setFontSettings(new FontSettings());
doc.getFontSettings().setFontsSources(new FontSourceBase[]{folderFontSource});

Assert.assertEquals(getFontsDir(), folderFontSource.getFolderPath());
Assert.assertEquals(false, folderFontSource.getScanSubfolders());
Assert.assertEquals(FontSourceType.FONTS_FOLDER, folderFontSource.getType());
Assert.assertEquals(1, folderFontSource.getPriority());

getWarningCallback/setWarningCallback

→ inherited from FontSourceBase
public IWarningCallback getWarningCallback() / public void setWarningCallback(IWarningCallback value)
Called during processing of font source when an issue is detected that might result in formatting fidelity loss.

Example:

Shows how to call warning callback when the font sources working with.
@Test
public void fontSourceWarning()
{
    FontSettings settings = new FontSettings();
    settings.setFontsFolder("bad folder?", false);

    FontSourceBase source = settings.getFontsSources()[0];
    FontSourceWarningCollector callback = new FontSourceWarningCollector();
    source.setWarningCallback(callback);

    // Get the list of fonts to call warning callback.
    ArrayList<PhysicalFontInfo> fontInfos = source.getAvailableFonts();

    Assert.assertEquals("Error loading font from the folder \"bad folder?\": ",
        callback.FontSubstitutionWarnings.get(0).getDescription());
}

private static class FontSourceWarningCollector implements IWarningCallback
{
    /// <summary>
    /// Called every time a warning occurs during processing of font source.
    /// </summary>
    public void warning(WarningInfo info)
    {
        FontSubstitutionWarnings.warning(info);
    }

    public WarningInfoCollection FontSubstitutionWarnings = new WarningInfoCollection();
}

Method Detail

getAvailableFonts

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

Example:

Shows how to list available fonts.
// Configure Aspose.Words to source fonts from a custom folder, and then print every available font.
FontSourceBase[] folderFontSource = {new FolderFontSource(getFontsDir(), 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()));
}

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