50 lines
1.5 KiB
PHP
50 lines
1.5 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace FontLib\Tests;
|
||
|
|
||
|
use FontLib\Font;
|
||
|
use PHPUnit\Framework\TestCase;
|
||
|
|
||
|
class FontTest extends TestCase
|
||
|
{
|
||
|
/**
|
||
|
* @expectedException \Fontlib\Exception\FontNotFoundException
|
||
|
*/
|
||
|
public function testLoadFileNotFound()
|
||
|
{
|
||
|
Font::load('non-existing/font.ttf');
|
||
|
}
|
||
|
|
||
|
public function testLoadTTFFontSuccessfully()
|
||
|
{
|
||
|
$trueTypeFont = Font::load('sample-fonts/IntelClear-Light.ttf');
|
||
|
|
||
|
$this->assertInstanceOf('FontLib\TrueType\File', $trueTypeFont);
|
||
|
}
|
||
|
|
||
|
public function test12CmapFormat()
|
||
|
{
|
||
|
$trueTypeFont = Font::load('sample-fonts/NotoSansShavian-Regular.ttf');
|
||
|
|
||
|
$trueTypeFont->parse();
|
||
|
|
||
|
$cmapTable = $trueTypeFont->getData("cmap", "subtables");
|
||
|
|
||
|
$cmapFormat4Table = $cmapTable[0];
|
||
|
|
||
|
$this->assertEquals(4, $cmapFormat4Table['format']);
|
||
|
$this->assertEquals(6, $cmapFormat4Table['segCount']);
|
||
|
$this->assertEquals($cmapFormat4Table['segCount'], count($cmapFormat4Table['startCode']));
|
||
|
$this->assertEquals($cmapFormat4Table['segCount'], count($cmapFormat4Table['endCode']));
|
||
|
|
||
|
$cmapFormat12Table = $cmapTable[1];
|
||
|
|
||
|
$this->assertEquals(12, $cmapFormat12Table['format']);
|
||
|
$this->assertEquals(6, $cmapFormat12Table['ngroups']);
|
||
|
$this->assertEquals(6, count($cmapFormat12Table['startCode']));
|
||
|
$this->assertEquals(6, count($cmapFormat12Table['endCode']));
|
||
|
$this->assertEquals(53, count($cmapFormat12Table['glyphIndexArray']));
|
||
|
}
|
||
|
|
||
|
}
|