//
//  IFXPDFFontsSample.m
//  IFXPDFFactory-iOS-SamplesBrowser
//
//  Created by Sorin Nistor on 11/11/13.
//  Copyright (c) 2013 IFXFactory. All rights reserved.
//

#import "IFXPDFFontsSample.h"

@implementation IFXPDFFontsSample

+ (IFXPDFDocument*) run
{
    IFXPDFDocument* pdfDocument = [[IFXPDFDocument alloc] init];
    IFXPDFPage* page = [IFXPDFPage emptyPage];
    [pdfDocument.pages addPage:page];
    
    IFXPDFBrush* blackBrush = [IFXPDFBrush brushWithColor:[IFXPDFRgbColor blackColor]];
    
    IFXPDFFont* titleFont = [[IFXPDFFont alloc] init];
    titleFont.fontFace = IFXPDFHelveticaBoldFontFace;
    titleFont.size = 24;
    
    [page.graphics drawText:@"Fonts" withFont:titleFont brush:blackBrush atX:20 y:50];
    
    IFXPDFFont* helvetica = [[IFXPDFFont alloc] init];
    helvetica.fontFace = IFXPDFHelveticaFontFace;
    helvetica.size = 16;
    [page.graphics drawText:@"Helvetica - 16 points" withFont:helvetica brush:blackBrush atX:20 y:80];
    
    IFXPDFFont* helveticaBold = [[IFXPDFFont alloc] init];
    helveticaBold.fontFace = IFXPDFHelveticaBoldFontFace;
    helveticaBold.size = 16;
    [page.graphics drawText:@"Helvetica Bold - 16 points" withFont:helveticaBold brush:blackBrush atX:20 y:110];
    
    IFXPDFFont* helveticaItalic = [[IFXPDFFont alloc] init];
    helveticaItalic.fontFace = IFXPDFHelveticaItalicFontFace;
    helveticaItalic.size = 16;
    [page.graphics drawText:@"Helvetica Italic - 16 points" withFont:helveticaItalic brush:blackBrush atX:20 y:140];
    
    IFXPDFFont* helveticaBoldItalic = [[IFXPDFFont alloc] init];
    helveticaBoldItalic.fontFace = IFXPDFHelveticaBoldItalicFontFace;
    helveticaBoldItalic.size = 16;
    [page.graphics drawText:@"Helvetica Bold Italic - 16 points" withFont:helveticaBoldItalic brush:blackBrush atX:20 y:170];
    
    IFXPDFFont* courier = [[IFXPDFFont alloc] init];
    courier.fontFace = IFXPDFCourierFontFace;
    courier.size = 16;
    [page.graphics drawText:@"Courier - 16 points" withFont:courier brush:blackBrush atX:20 y:200];
    
    IFXPDFFont* courierBold = [[IFXPDFFont alloc] init];
    courierBold.fontFace = IFXPDFCourierBoldFontFace;
    courierBold.size = 16;
    [page.graphics drawText:@"Courier Bold - 16 points" withFont:courierBold brush:blackBrush atX:20 y:230];
    
    IFXPDFFont* courierItalic = [[IFXPDFFont alloc] init];
    courierItalic.fontFace = IFXPDFCourierItalicFontFace;
    courierItalic.size = 16;
    [page.graphics drawText:@"Courier Italic - 16 points" withFont:courierItalic brush:blackBrush atX:20 y:260];
    
    IFXPDFFont* courierBoldItalic = [[IFXPDFFont alloc] init];
    courierBoldItalic.fontFace = IFXPDFCourierBoldItalicFontFace;
    courierBoldItalic.size = 16;
    [page.graphics drawText:@"Courier Bold Italic - 16 points" withFont:courierBoldItalic brush:blackBrush atX:20 y:290];
    
    IFXPDFFont* timesRoman = [[IFXPDFFont alloc] init];
    timesRoman.fontFace = IFXPDFTimesRomanFontFace;
    timesRoman.size = 16;
    [page.graphics drawText:@"Times Roman - 16 points" withFont:timesRoman brush:blackBrush atX:20 y:320];
    
    IFXPDFFont* timesRomanBold = [[IFXPDFFont alloc] init];
    timesRomanBold.fontFace = IFXPDFTimesRomanBoldFontFace;
    timesRomanBold.size = 16;
    [page.graphics drawText:@"Times Roman Bold - 16 points" withFont:timesRomanBold brush:blackBrush atX:20 y:350];
    
    IFXPDFFont* timesRomanItalic = [[IFXPDFFont alloc] init];
    timesRomanItalic.fontFace = IFXPDFTimesRomanItalicFontFace;
    timesRomanItalic.size = 16;
    [page.graphics drawText:@"Times Roman Italic - 16 points" withFont:timesRomanItalic brush:blackBrush atX:20 y:380];
    
    IFXPDFFont* timesRomanBoldItalic = [[IFXPDFFont alloc] init];
    timesRomanBoldItalic.fontFace = IFXPDFTimesRomanBoldItalicFontFace;
    timesRomanBoldItalic.size = 16;
    [page.graphics drawText:@"Times Roman Bold Italic - 16 points" withFont:timesRomanBoldItalic brush:blackBrush atX:20 y:410];
    
    IFXPDFFont* zapfDingbats = [[IFXPDFFont alloc] init];
    zapfDingbats.fontFace = IFXPDFZapfDingbatsFontFace;
    zapfDingbats.size = 16;
    [page.graphics drawText:@"Zapf Dingbats - 16 points" withFont:zapfDingbats brush:blackBrush atX:20 y:440];
    
    IFXPDFFont* symbol = [[IFXPDFFont alloc] init];
    symbol.fontFace = IFXPDFSymbolFontFace;
    symbol.size = 16;
    [page.graphics drawText:@"Symbol - 16 points" withFont:symbol brush:blackBrush atX:20 y:470];
    
    NSString *ttfPath = [[NSBundle mainBundle] pathForResource:@"verdana" ofType:@"ttf"];
    IFXPDFTrueTypeFont* ansiTtf = [[IFXPDFTrueTypeFont alloc] initWithFontPath:ttfPath andSize:16];
    [page.graphics drawText:@"Ansi Verdana - 16 points" withFont:ansiTtf brush:blackBrush atX:20 y:500];
    
    IFXPDFTrueTypeFont* unicodeTtf = [[IFXPDFTrueTypeFont alloc] initWithFontPath:ttfPath size:16 andUnicode:YES];
    [page.graphics drawText:@"Unicode Verdana \u0398 \u03A3 \u03A6 \u03A8 \u03A9 - 16 points"
                   withFont:unicodeTtf brush:blackBrush atX:20 y:530];

    return pdfDocument;
}
@end