pub struct ReadingOrderConfig {
pub strategy: ReadingOrderStrategyType,
}Expand description
Configuration for reading order strategy.
Fields§
§strategy: ReadingOrderStrategyTypeThe reading order strategy to use for horizontal (left-to-right, top-to-bottom) pages.
Vertical-writing override. When a page is detected as
vertical-majority — at least half of the page’s spans carry
wmode == 1 from a /WMode 1 CMap or a -V-suffixed encoding
(Identity-V, UniJIS-UTF16-V, …) — the configured strategy is
bypassed and the page is routed through a tategaki-aware
right-to-left column ordering instead. None of the four
horizontal strategies (Simple, Geometric, XYCut,
StructureTreeFirst) can produce correct right-to-left column
order for vertical writing, so the override is unconditional.
Per-span wmode is preserved on every output span regardless of
which path the page took, so downstream consumers can still
distinguish the two modes.
Trait Implementations§
Source§impl Clone for ReadingOrderConfig
impl Clone for ReadingOrderConfig
Source§fn clone(&self) -> ReadingOrderConfig
fn clone(&self) -> ReadingOrderConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReadingOrderConfig
impl Debug for ReadingOrderConfig
Auto Trait Implementations§
impl Freeze for ReadingOrderConfig
impl RefUnwindSafe for ReadingOrderConfig
impl Send for ReadingOrderConfig
impl Sync for ReadingOrderConfig
impl Unpin for ReadingOrderConfig
impl UnsafeUnpin for ReadingOrderConfig
impl UnwindSafe for ReadingOrderConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
T, using the provided data to resolve any offsets.