pub struct EncodingResolver { /* private fields */ }Expand description
Resolved encoding for a font, following PDF encoding resolution order.
Resolution order:
- ToUnicode CMap (highest priority — direct CID/code → Unicode mapping)
- Explicit /Encoding from font dictionary (standard name or dictionary with Differences)
- Implicit/default encoding (typically StandardEncoding for Type1, identity for TrueType)
Implementations§
Source§impl EncodingResolver
impl EncodingResolver
Sourcepub fn new(default_encoding: FontEncoding) -> Self
pub fn new(default_encoding: FontEncoding) -> Self
Create a resolver with only a default encoding.
Sourcepub fn with_to_unicode(self, to_unicode: HashMap<u16, String>) -> Self
pub fn with_to_unicode(self, to_unicode: HashMap<u16, String>) -> Self
Set the ToUnicode CMap mappings (highest priority).
Sourcepub fn with_font_encoding(self, encoding: FontEncoding) -> Self
pub fn with_font_encoding(self, encoding: FontEncoding) -> Self
Set the explicit font encoding (second priority).
Sourcepub fn resolve(&self, code: u16) -> Option<String>
pub fn resolve(&self, code: u16) -> Option<String>
Resolve a character code to a Unicode string.
Follows the resolution order:
- ToUnicode CMap (if present and has mapping for this code)
- Explicit font encoding (if present)
- Default encoding
Returns None only if no encoding level has a mapping.
Sourcepub fn decode_bytes(&self, bytes: &[u8]) -> String
pub fn decode_bytes(&self, bytes: &[u8]) -> String
Decode a byte string using the resolution chain.
Each byte is resolved independently. Unresolved bytes become U+FFFD.
Trait Implementations§
Source§impl Clone for EncodingResolver
impl Clone for EncodingResolver
Source§fn clone(&self) -> EncodingResolver
fn clone(&self) -> EncodingResolver
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for EncodingResolver
impl RefUnwindSafe for EncodingResolver
impl Send for EncodingResolver
impl Sync for EncodingResolver
impl Unpin for EncodingResolver
impl UnsafeUnpin for EncodingResolver
impl UnwindSafe for EncodingResolver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more