Skip to main content

FontEncoding

Struct FontEncoding 

Source
pub struct FontEncoding { /* private fields */ }
Expand description

An encoding table that may be a standard encoding modified by a Differences array.

This represents the /Encoding entry in a PDF font dictionary, which can be:

  • A name referring to a standard encoding (e.g., /WinAnsiEncoding)
  • A dictionary with /BaseEncoding + /Differences array

Implementations§

Source§

impl FontEncoding

Source

pub fn from_standard(encoding: StandardEncoding) -> Self

Create a FontEncoding from a standard encoding.

Source

pub fn from_standard_with_differences( encoding: StandardEncoding, differences: &[(u8, char)], ) -> Self

Create a FontEncoding from a standard encoding with Differences applied.

The differences slice contains pairs of (code, character) that override the base encoding. This matches the PDF /Differences array format: [code1 /name1 /name2 ... codeN /nameN ...] where each code starts a run of consecutive overrides.

Source

pub fn from_table(table: [Option<char>; 256]) -> Self

Create a FontEncoding from a custom table (256 entries).

Source

pub fn apply_differences(&mut self, differences: &[(u8, char)])

Apply Differences array overrides to this encoding.

Source

pub fn decode(&self, code: u8) -> Option<char>

Decode a single byte code to a Unicode character.

Source

pub fn decode_bytes(&self, bytes: &[u8]) -> String

Decode a byte string into a Unicode string.

Bytes with no mapping are replaced with U+FFFD (replacement character).

Trait Implementations§

Source§

impl Clone for FontEncoding

Source§

fn clone(&self) -> FontEncoding

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FontEncoding

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.