Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
Encoding
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
3
100.00% covered (success)
100.00%
1 / 1
 toPdf
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2
3declare(strict_types=1);
4
5namespace Phpdftk\Pdf\Core\Font;
6
7use Phpdftk\Pdf\Core\PdfArray;
8use Phpdftk\Pdf\Core\PdfDictionary;
9use Phpdftk\Pdf\Core\PdfName;
10use Phpdftk\Pdf\Core\PdfObject;
11
12/**
13 * Encoding object (/Type /Encoding).
14 * Defines the mapping of character codes to glyph names.
15 */
16class Encoding extends PdfObject
17{
18    public const PDF_TYPE = 'Encoding';
19
20    public ?PdfName $baseEncoding = null;   // /BaseEncoding
21    public ?PdfArray $differences = null;   // /Differences
22
23    public function toPdf(): string
24    {
25        $dict = new PdfDictionary();
26        $dict->set('Type', new PdfName(self::PDF_TYPE));
27
28        if ($this->baseEncoding !== null) {
29            $dict->set('BaseEncoding', $this->baseEncoding);
30        }
31        if ($this->differences !== null) {
32            $dict->set('Differences', $this->differences);
33        }
34
35        return $dict->toPdf();
36    }
37}