Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Piazzolla variable font bolder with Node Renderer than with OpenType/HarfBuzz #296

Open
xscheuer opened this issue Jan 15, 2025 · 0 comments

Comments

@xscheuer
Copy link

The Node Renderer (using fontspec) produces the Piazzolla variable font bolder/fatter than with the OpenType or HarfBuzz Renderer (and fatter than the static fonts).

https://tex.stackexchange.com/questions/734968/the-piazzolla-variable-font-is-displayed-differently-between-the-node-default

MWE:

\documentclass{scrartcl}

\usepackage{fontspec}
% Piazzolla variable font (Open Font License)
% last official release (v2.005) from https://github.com/huertatipografica/piazzolla/releases
\setmainfont{Piazzolla[opsz,wght].ttf}[
    %Renderer=Node,
    Weight=400,  % needed
    RawAxis={opsz=11},  % needed with the default renderer, otherwise apparently the default value opsz=14 is used instead for all font sizes
    ItalicFont={Piazzolla-Italic[opsz,wght].ttf},
    % ItalicFeatures={RawFeature={axis={opsz=11,wght=400}}},
    BoldFont={Piazzolla[opsz,wght].ttf},
    BoldFeatures={Weight=600},
    BoldItalicFont={Piazzolla-Italic[opsz,wght].ttf},
    BoldItalicFeatures={Weight=600}
]
\usepackage{lipsum}

\begin{document}

\section{Piazzolla with \texttt{fontspec}'s default renderer (\texttt{Renderer = Node})}

With the default (\texttt{Node}) renderer:
\begin{itemize}
    \item \texttt{RawAxis=\string{opsz=11\string}} (or \texttt{RawFeature=\string{axis=\string{opsz=11,wght=400\string}\string}}) is needed otherwise apparently the default value for the optical size axis \texttt{opsz=14} is taken instead for all the font sizes;
    \item \texttt{Weight=400} is needed (despite it being apparently the default value of the font (\texttt{Regular})), otherwise \texttt{Thin} (\texttt{wght=100}) is used;
    \item \textbf{The font weight is bolder for all weights (Regular, Bold). It is bolder than by using the corresponding static fonts released by Juan Pablo del Peral/Huerta Tipográfica. This is the main issue I am reporting.} See Lorem ipsum hereafter.
\end{itemize}

\lipsum[1]


\section{Piazzolla with \texttt{Renderer = OpenType} (or \texttt{HarfBuzz})}

\setmainfont{Piazzolla[opsz,wght].ttf}[
    Renderer=OpenType,  % or HarfBuzz
    Weight=400,  % needed
    % RawAxis={opsz=11},  % the correct optical sizes are used with HarfBuzz/OpenType Renderer
    ItalicFont={Piazzolla-Italic[opsz,wght].ttf},
    % ItalicFeatures={RawFeature={axis={opsz=11,wght=400}}},
    BoldFont={Piazzolla[opsz,wght].ttf},
    BoldFeatures={Weight=600},
    BoldItalicFont={Piazzolla-Italic[opsz,wght].ttf},
    BoldItalicFeatures={Weight=600}
]

With the \texttt{HarfBuzz/OpenType} renderer:
\begin{itemize}
    \item \texttt{RawAxis=\string{opsz=11\string}} is not needed. It seems the correct value of \texttt{opsz} is used for all the font sizes.
    \item \texttt{Weight=400} is still needed (despite it being apparently the default value of the font (\texttt{Regular})), otherwise \texttt{Thin} (\texttt{wght=100}) is used;
    \item The font weight is lighter than with default renderer. The font weight now seems to correspond to the one of the static fonts. See Lorem ipsum hereafter and compare with the one with the default renderer.
\end{itemize}

\lipsum[1]

\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant