pub struct TexmfResources { /* private fields */ }Expand description
Resource provider over a TeX Live texmf-dist tree by exact file name, through its ls-R index.
Implementations§
Source§impl TexmfResources
impl TexmfResources
Sourcepub fn from_root(root: impl Into<PathBuf>) -> Result<Self, TexmfError>
pub fn from_root(root: impl Into<PathBuf>) -> Result<Self, TexmfError>
Reads the ls-R index of root, a texmf-dist directory.
Sourcepub fn discover() -> Result<Self, TexmfError>
pub fn discover() -> Result<Self, TexmfError>
Finds the tree through MATHTEX_TEXMF_ROOT, else kpsewhich -var-value TEXMFDIST.
Examples found in repository?
examples/bake_format.rs (line 17)
11fn main() -> ExitCode {
12 let mut args = std::env::args_os().skip(1);
13 let (Some(output), None) = (args.next().map(PathBuf::from), args.next()) else {
14 eprintln!("usage: bake_format <output.pkg>");
15 return ExitCode::FAILURE;
16 };
17 let texmf = match TexmfResources::discover() {
18 Ok(texmf) => texmf,
19 Err(error) => {
20 eprintln!("bake_format: {error}");
21 return ExitCode::FAILURE;
22 }
23 };
24 let fonts = ResourceFontLoader::new(&texmf);
25 let format = match FormatBuilder::new(PREAMBLE)
26 .kernel("latex.ltx")
27 .build(&texmf, &fonts)
28 {
29 Ok(format) => format,
30 Err(error) => {
31 eprintln!("bake_format: {error}");
32 return ExitCode::FAILURE;
33 }
34 };
35 if let Err(error) = std::fs::write(&output, &format) {
36 eprintln!("bake_format: cannot write {}: {error}", output.display());
37 return ExitCode::FAILURE;
38 }
39 eprintln!(
40 "bake_format: wrote {} bytes to {}",
41 format.len(),
42 output.display()
43 );
44 ExitCode::SUCCESS
45}Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Whether the index holds no file names, never true for a provider that was built.
Sourcepub fn resolve(&self, request: &ResourceRequest) -> Option<PathBuf>
pub fn resolve(&self, request: &ResourceRequest) -> Option<PathBuf>
The file a request names, found in the highest priority directory of its search path.
Trait Implementations§
Source§impl Clone for TexmfResources
impl Clone for TexmfResources
Source§impl Debug for TexmfResources
impl Debug for TexmfResources
Source§impl ResourceProvider for TexmfResources
impl ResourceProvider for TexmfResources
Source§fn read_request(
&self,
request: &ResourceRequest,
) -> Result<Resource, ResourceError>
fn read_request( &self, request: &ResourceRequest, ) -> Result<Resource, ResourceError>
Resolves the file
request names, by its exact name, the engine tries suffixed names itself.Source§fn read(
&self,
name: &str,
kind: ResourceKind,
) -> Result<Resource, ResourceError>
fn read( &self, name: &str, kind: ResourceKind, ) -> Result<Resource, ResourceError>
Resolves
name as a resource of the given kind.Auto Trait Implementations§
impl Freeze for TexmfResources
impl RefUnwindSafe for TexmfResources
impl Send for TexmfResources
impl Sync for TexmfResources
impl Unpin for TexmfResources
impl UnsafeUnpin for TexmfResources
impl UnwindSafe for TexmfResources
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