pdf_writer::writers

Struct Type3Font

source
pub struct Type3Font<'a> { /* private fields */ }
Expand description

Writer for a Type-3 font dictionary.

This struct is created by Chunk::type3_font.

Implementations§

source§

impl<'a> Type3Font<'a>

source

pub fn name(&mut self, name: Name<'_>) -> &mut Self

Write the /Name attribute, which is the name of the font in the current resource dictionary. Always required in PDF 1.0, required if FontName is set in child font descriptor.

source

pub fn bbox(&mut self, bbox: Rect) -> &mut Self

Write the /FontBBox attribute. Required.

source

pub fn matrix(&mut self, matrix: [f32; 6]) -> &mut Self

Write the /FontMatrix attribute, which defines the mapping from glyph space to text space. Required.

source

pub fn char_procs(&mut self) -> TypedDict<'_, Ref>

Start writing the /CharProcs dictionary, which maps glyph names to glyph content streams. Required.

Each glyph’s content stream must start with either the d0 or d1 operator.

source

pub fn encoding_predefined(&mut self, encoding: Name<'_>) -> &mut Self

Write the /Encoding attribute as a predefined encoding. Either this or encoding_custom is required.

source

pub fn encoding_custom(&mut self) -> Encoding<'_>

Start writing an /Encoding dictionary. Either this or encoding_predefined is required.

source

pub fn first_char(&mut self, first: u8) -> &mut Self

Write the FirstChar attribute, defining the first character code in the font’s widths array. Required.

source

pub fn last_char(&mut self, last: u8) -> &mut Self

Write the LastChar attribute, defining the last character code in the font’s widths array. Required.

source

pub fn widths(&mut self, widths: impl IntoIterator<Item = f32>) -> &mut Self

Write the /Widths array. Should be of length last - first + 1. Required.

source

pub fn font_descriptor(&mut self, id: Ref) -> &mut Self

Write the /FontDescriptor attribute. Required in Tagged PDFs.

source

pub fn resources(&mut self) -> Resources<'_>

Start writing the /Resources dictionary.

source

pub fn to_unicode(&mut self, id: Ref) -> &mut Self

Write the /ToUnicode attribute. PDF 1.2+.

A suitable character map can be built with UnicodeCmap.

This attribute is required in some profiles of PDF/A-2, PDF/A-3, and PDF/A-4 for some fonts. When present, these standards require that no character may be mapped to 0, U+FEFF, or U+FFFE.

Methods from Deref<Target = Dict<'a>>§

source

pub fn len(&self) -> i32

The number of written pairs.

source

pub fn is_empty(&self) -> bool

Whether no pairs have been written so far.

source

pub fn insert(&mut self, key: Name<'_>) -> Obj<'_>

Start writing a pair with an arbitrary value.

source

pub fn pair<T: Primitive>(&mut self, key: Name<'_>, value: T) -> &mut Self

Write a pair with a primitive value.

This is a shorthand for dict.insert(key).primitive(value).

source

pub fn pairs<'n, T: Primitive>( &mut self, pairs: impl IntoIterator<Item = (Name<'n>, T)>, ) -> &mut Self

Write a sequence of pairs with primitive values.

Trait Implementations§

source§

impl<'a> Deref for Type3Font<'a>

source§

type Target = Dict<'a>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'a> DerefMut for Type3Font<'a>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl<'a, 'any> Rewrite<'a> for Type3Font<'any>

source§

type Output = Type3Font<'a>

The writer with the rewritten lifetime.
source§

impl<'a> Writer<'a> for Type3Font<'a>

source§

fn start(obj: Obj<'a>) -> Self

Start writing the object.

Auto Trait Implementations§

§

impl<'a> Freeze for Type3Font<'a>

§

impl<'a> RefUnwindSafe for Type3Font<'a>

§

impl<'a> Send for Type3Font<'a>

§

impl<'a> Sync for Type3Font<'a>

§

impl<'a> Unpin for Type3Font<'a>

§

impl<'a> !UnwindSafe for Type3Font<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Finish for T

source§

fn finish(self)

Does nothing but move self, equivalent to drop.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.