R Under development (unstable) (2025-02-20 r87772 ucrt) -- "Unsuffered Consequences" Copyright (C) 2025 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > > library(grid) > library(xdvir) TeX: C:\PROGRA~1\MiKTeX\miktex\bin\x64\latex.exe xetex: MiKTeX-XeTeX 4.9 (MiKTeX 23.1) luatex: This is LuaTeX, Version 1.16.0 (MiKTeX 23.1) luaotfload-tool: 3.23 > > ## Make debugging information available > options(tinytex.verbose=TRUE, xdvir.quiet=FALSE) > > ## Existing DVI (so engine unknown AND packages unknown) > dviXeTeX <- readDVI(system.file("DVI", "test-xetex.xdv", package="xdvir")) > > ## Font file paths based on my machine > if (Sys.getenv("USER") == "pmur002") { + + ## Fall back to dummy fontLib + ## (glyph positioning is compromised) + grid.newpage() + tools::assertWarning(grid.dvi(dviXeTeX)) + + grid.newpage() + ## Warn about guessing DVI engine + tools::assertWarning(grid.dvi(dviXeTeX)) + + } > > ## Generate DVI > > ## Create .tex files within .Rcheck directory so that we can more easily > ## debug problems (or return them as artifacts from github runners) > texFile <- "test-dvi.tex" > > if (Sys.info()["sysname"] == "Darwin") { + png("grid-dvi-%02d.png", type="quartz") + } else { + ## "Windows" or "Linux" + png("grid-dvi-%02d.png", type="cairo") + } > > if (xdvir:::haveTeX()) { + + str <- r"(This is a test: $\frac{x - \mu}{2}$)" + + tex <- author(str) + dvi <- typeset(tex, texFile=texFile) + grid.newpage() + grid.dvi(dvi) + + ## Explicit render engine that does NOT match typeset() engine + tex <- author(str, engine="xetex") + dvi <- typeset(tex, engine="xetex", texFile=texFile) + grid.newpage() + tools::assertWarning(grid.dvi(dvi, engine="null")) + + } > > dev.off() null device 1 > > proc.time() user system elapsed 0.57 0.14 14.68