class final Core · roukmoute/pdf 0.6.2
PDF\Document\Fonts\Type3FontTable 112: Type 3 byte encoding, CharProcs graph, widths, matrix and explicit resources.Inheritance and contracts
Parent : PDF\Document\Fonts\ManagedFontDictionary
Interfaces : Countable, IteratorAggregate, PDF\Document\CatalogComponent, PDF\Document\VersionedComponent, PDF\Syntax\FileStructure\BasicType, Stringable, Traversable
Definition in the specification
Table 112 · Entries in a Type 3 font dictionary
ISO 32000-1:2008, §9.6.5 · PDF page 266 ↗
| Entry | PDF type | Source requirement | Table |
|---|---|---|---|
/Type | name | Required | 112 |
/Subtype | name | Required | 112 |
/Name | name | Required in PDF 1.0; optional otherwise | 112 |
/FontBBox | rectangle | Required | 112 |
/FontMatrix | array | Required | 112 |
/CharProcs | dictionary | Required | 112 |
/Encoding | name or dictionary | Required | 112 |
/FirstChar | integer | Required | 112 |
/LastChar | integer | Required | 112 |
/Widths | array | Required; should be an indirect reference | 112 |
/FontDescriptor | dictionary | Required in Tagged PDF documents; shall be an indirect reference | 112 |
/Resources | dictionary | Optional but should be used; PDF 1.2 | 112 |
/ToUnicode | stream | Optional; PDF 1.2 | 112 |
Conditional descriptions remain traceable. A definition alone does not implement a codec, a signature or every format mechanism. Read the coverage.
Construction
__construct()
public function __construct(PDF\Syntax\DataStructure\Rectangle $bounds, PDF\Graphics\CoordinateSystems\Matrix $matrix, PDF\Document\Fonts\Type3CharProcs $charProcs, PDF\Document\Fonts\Encodings\EncodingDictionary $encoding, PDF\Document\Fonts\SimpleWidths $widths, ?PDF\Syntax\Object\DictionaryType $resources = null, ?PDF\Document\Fonts\FontDescriptor $descriptor = null, ?PDF\Document\Fonts\ToUnicodeCMap $toUnicode = null, PDF\Syntax\Object\DictionaryObject\Entry ...$entries)Declared methods
validateCatalog()
public function validateCatalog(PDF\Syntax\Object\DictionaryType $catalog): voidvalidateVersion()
public function validateVersion(PDF\Syntax\FileStructure\EffectivePdfVersion $version): voidInherited methods
12 methods from parents and contracts
__toString()
public function __toString(): stringassertUnmanaged()
protected function assertUnmanaged(string $key): voidcount()
public function count(): intdefinition()
public function definition(): PDF\Specification\TableDefinitionentries()
public function entries(): iterable@return iterable<Entry>get()
public function get(PDF\Syntax\Object\NameType|string $key): ?PDF\Syntax\FileStructure\BasicTypegetIterator()
public function getIterator(): Traversablehas()
public function has(PDF\Syntax\Object\NameType|string $key): booltoPdf()
public function toPdf(PDF\Serialization\SerializationContext $context): stringvalidate()
public function validate(): voidChecks unconditional requirements; conditional and inherited rules remain explicit.with()
public function with(PDF\Syntax\Object\DictionaryObject\Entry $entry): staticwithout()
public function without(PDF\Syntax\Object\NameType|string $key): staticProperties
| Declaration | Origin and documentation |
|---|---|
public readonly PDF\Syntax\DataStructure\Rectangle $bounds | PDF\Document\Fonts\Type3Font |
public readonly PDF\Document\Fonts\Type3CharProcs $charProcs | PDF\Document\Fonts\Type3Font |
public readonly PDF\Document\Fonts\Encodings\EncodingDictionary $encoding | PDF\Document\Fonts\Type3Font |
public readonly PDF\Graphics\CoordinateSystems\Matrix $matrix | PDF\Document\Fonts\Type3Font |
public readonly PDF\Document\Fonts\SimpleWidths $widths | PDF\Document\Fonts\Type3Font |
Constants
| Name | PHP value | Origin |
|---|---|---|
COMMON_TABLES | | PDF\Specification\SchemaDictionary |
TABLE | | PDF\Document\Fonts\Type3Font |