public function testOutput() { $indir = __DIR__ . '/../util/vendor/font/'; $objnum = 1; $buffer = new \Com\Tecnick\Pdf\Font\Stack(1); new \Com\Tecnick\Pdf\Font\Import($indir . 'pdfa/pfb/PDFASymbol.pfb', null, 'Type1', 'symbol'); $buffer->add($objnum, 'pdfasymbol'); new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica.afm'); $buffer->add($objnum, 'helvetica'); new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica-Bold.afm'); $buffer->add($objnum, 'helvetica', 'B'); new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica-BoldOblique.afm'); $buffer->add($objnum, 'helveticaBI'); new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica-Oblique.afm'); $buffer->add($objnum, 'helvetica', 'I'); new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSans.ttf'); $buffer->add($objnum, 'freesans', ''); new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSansBold.ttf'); $buffer->add($objnum, 'freesans', 'B'); new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSansOblique.ttf'); $buffer->add($objnum, 'freesans', 'I'); new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSansBoldOblique.ttf'); $buffer->add($objnum, 'freesans', 'BIUDO', '', true); new \Com\Tecnick\Pdf\Font\Import($indir . 'cid0/cid0jp.ttf', null, 'CID0JP'); $buffer->add($objnum, 'cid0jp'); $fonts = $buffer->getFonts(); $this->assertCount(10, $fonts); $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(); $outObj = new \Com\Tecnick\Pdf\Font\Output($fonts, $objnum, $encrypt); $this->assertEquals(37, $outObj->getObjectNumber()); $this->assertNotEmpty($outObj->getFontsBlock()); }
public function testBuffer() { $indir = __DIR__ . '/../util/vendor/font/'; $objnum = 1; $stack = new \Com\Tecnick\Pdf\Font\Stack(1, false, true, false); new \Com\Tecnick\Pdf\Font\Import($indir . 'pdfa/pfb/PDFASymbol.pfb', null, 'Type1', 'symbol'); $stack->add($objnum, 'pdfasymbol'); new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica.afm'); $stack->add($objnum, 'helvetica'); new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica-Bold.afm'); $stack->add($objnum, 'helvetica', 'B'); new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica-BoldOblique.afm'); $stack->add($objnum, 'helveticaBI'); new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica-Oblique.afm'); $stack->add($objnum, 'helvetica', 'I'); new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSans.ttf'); $stack->add($objnum, 'freesans', ''); new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSansBold.ttf'); $stack->add($objnum, 'freesans', 'B'); new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSansOblique.ttf'); $stack->add($objnum, 'freesans', 'I'); new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSansBoldOblique.ttf'); $stack->add($objnum, 'freesans', 'BIUDO', '', true); $fontkey = $stack->add($objnum, 'freesans', 'BI', '', true); $this->assertEquals('freesansBI', $fontkey); $this->assertEquals(10, $objnum); $this->assertCount(9, $stack->getFonts()); $this->assertCount(1, $stack->getEncDiffs()); $font = $stack->getFont('freesansB'); $this->assertNotEmpty($font); $this->assertEquals('FreeSansBold', $font['name']); $this->assertEquals('TrueTypeUnicode', $font['type']); $stack->setFontSubKey('freesansBI', 'test_field', 'test_value'); $font = $stack->getFont('freesansBI'); $this->assertEquals('test_value', $font['test_field']); $stack->setFontSubKey('newfont', 'tfield', 'tval'); $font = $stack->getFont('newfont'); $this->assertEquals('tval', $font['tfield']); new \Com\Tecnick\Pdf\Font\Import($indir . 'core/ZapfDingbats.afm'); $stack->add($objnum, 'zapfdingbats', 'BIUDO'); $font = $stack->getFont('zapfdingbats'); $this->assertNotEmpty($font); }