Erro “invalidfont” com LuaLaTex e pst-barcode usando instalação básica do TexLive

Erro “invalidfont” com LuaLaTex e pst-barcode usando instalação básica do TexLive

Estou tentando fazer uma instalação mínima do TexLive para um contêiner docker para minimizar os custos da nuvem. Meu aplicativo da web cria etiquetas de embalagens de produtos com um código UPC. No meu contêiner docker, recebo um erro "invalidfont" ao gerar o código UPC. Estou convencido de que este é um problema decorrente da falta de uma dependência de pacote porque ele compila perfeitamente usando minha instalação local completa do LaTex. Alguma idéia do que posso estar perdendo? Ou existe uma maneira de descobrir exatamente quais pacotes foram usados ​​para compilar com êxito um arquivo TEX, para que eu possa instalá-los apenas em meu contêiner?

Este é meu script de instalação mínimo em meu Dockerfile. Você pode ver que além da instalação mínima ("scheme-basic") estou usando tlmgr para instalar fontspec, pst-barcode, pstricks, xcolor, xkeyval, pgf, luapstricks, pst-tools, marginnote e phonetic:

# Use the most up-to-date version of Ubuntu LTS
FROM ubuntu:22.04

# Install necessary system utilities
RUN apt-get update && \
    apt-get install --no-install-recommends -y \
        wget \
        perl \
        python3 python3-pip python3-dev python3-venv \
        fontconfig \
        ghostscript && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# Download and install TeX Live
RUN wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz && \
    tar -xzf install-tl-unx.tar.gz && \
    cd install-tl-* && \
    echo "selected_scheme scheme-basic" > texlive.profile && \
    ./install-tl -profile texlive.profile && \
    cd .. && \
    rm -rf install-tl* install-tl-unx.tar.gz

# Set the PATH to include the TeX Live binaries
ENV PATH="/usr/local/texlive/2024/bin/aarch64-linux:${PATH}"

# Install missing LaTex packages
RUN tlmgr update --self --all
RUN tlmgr install fontspec pst-barcode pstricks xcolor xkeyval pgf luapstricks pst-tools marginnote phonetic

# Set the working directory to root's home directory
WORKDIR /root

# Copy the fonts and images directories and TEX file
COPY fonts /root/fonts
COPY img /root/img
COPY label.tex /root/label.tex

# Move and cache fonts
RUN mkdir -p /usr/share/fonts/custom && \
    cp /root/fonts/*.otf /usr/share/fonts/custom/ && \
    fc-cache -fv
RUN ls -la /usr/share/fonts/custom
RUN fc-list

# Expose the port the app runs on
ENV PORT 8080
ENV HOST 0.0.0.0
EXPOSE 8080

# Use the virtual environment's Python as the default
ENV PATH="/root/venv/bin:$PATH"

# Define the command to run the app
CMD ["lualatex", "label.tex"]

Este é o meu arquivo label.tex. Você verá que tenho três instâncias, psbarcodemas apenas a primeira gera tikzpictureo erro:

\documentclass{article}
\usepackage{fontspec}

\setlength\parindent{0pt}
\usepackage{pst-barcode}
\usepackage{phonetic}
\usepackage{geometry}
\usepackage{graphicx}
\usepackage{tikz}
\geometry{paperwidth=4in, paperheight=2in, top=-0.5in, bottom=0.125in, left=0.125in, right=0.125in}

\renewcommand{\textsuperscript}[1]{\raisebox{0.8ex}{\scalebox{0.66}{#1}}}

\begin{document}

\fontsize{7pt}{8pt}\selectfont
\textbf{Company{\sffamily\textregistered} Product\\
Designed by Company\\
Assembled in USA\\
Model MP1
}

\begin{figure}
\begin{tikzpicture}[overlay, remember picture]
\node[xshift=-1.5in,yshift=-0.45in] at (current page.north east) {\psbarcode{196852002825}{includetext width=1.3 height=0.35 textsize=9 textyoffset=-2 textxoffset=-6}{upca}};
\end{tikzpicture}
\end{figure}

\vspace{0.075in}

\textbf{(A) Serial No. A12345678\\
}
\begin{pspicture}(0,0.35in)
\psbarcode{A12345678}{width=0.31 height=0.31}{qrcode}
\end{pspicture}

\vspace{0.075in}

\textbf{(B) Serial No. B12345678\\
}
\begin{pspicture}(0,0.35in)
\psbarcode{B12345678}{width=0.31 height=0.31}{qrcode}
\end{pspicture}

\vfill
\mbox{}\hfill \textbf{\textcopyright 2024 Company All rights reserved.}


\end{document}

Este é o meu erro:

[1! luapstricks: ocorreu um erro "invalidfont" ao executar o código PS de "./labe l-docker.tex:29". ...não:N \tex_shipout:D
\box_use:N \l_shipout_box
_shipout_drop_firstpage...

l.60 \end{documento}
? ! Parada de emergência. ...não:N \tex_shipout:D \box_use:N \l_shipout_box
_shipout_drop_firstpage...

l.60 \end{documento}. 5544 palavras de memória do nó ainda em uso: 80 hlist, 14 vlist, 1 regra, 14 disco, 10 local_par, 1 dir, 182 cola, 41.
kern, 43 penalidade, 271 glifo, 90 atributo, 57 cola_spec, 90. lista de atributos, 1 temp, 2 if_stack, 4 write, 2 save_pos, 18 late_lua,
34 pdf_literal, 14 listas de disponibilidade de nós pdf_colorstack: 2:3,5:2,10:4
! ==> Ocorreu um erro fatal, nenhum arquivo PDF de saída foi produzido!

informação relacionada