Struct pdf_writer::writers::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. Required in PDF 1.0, discouraged in PDF 1.1+.

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.

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>

§

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>

§

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>,

§

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>,

§

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.