stipub / stixfonts

OpenType Unicode fonts for Scientific, Technical, and Mathematical texts
SIL Open Font License 1.1
728 stars 41 forks source link

\big\Vert is the same size as \Big\Vert and is inconsistent with e.g. \big\vert #159

Open rohitagr opened 4 years ago

rohitagr commented 4 years ago

The command \big\Vert command produces output which is the same size as \Big\Vert, which results in output inconsistent with other delimiters like \vert, as shown below:
\vert and \Vert in increasing sizes, with \big\Vert and \Big\Vert the same

This was produced by compiling the following with LuaLaTeX (from TeX Live 2020)

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{STIX Two Text}
\setmathfont{STIX Two Math}
\begin{document}
\[
\begin{array}{ccccc}
\vert & \big\vert & \Big\vert & \bigg\vert & \Bigg\vert\\
\Vert & \big\Vert & \Big\Vert & \bigg\Vert & \Bigg\Vert
\end{array}
\]
\end{document}
rohitagr commented 4 years ago

I'm not familiar with OpenType, but looking at the MATH table "Vert. Construction" in FontForge, it looks like U+2016 (double vertical line, corresponding to \Vert) and U+007C (vertical line, corresponding to \vert) have different parameters. If I change the value for U+2016 to match the one for U+007C, that seems to fix this issue, but I don't know if it's the correct fix.

tiroj commented 4 years ago

Thanks for the analysis. I'll investigate this in the new build.

xsrvmy commented 3 years ago

Actually there are two distinct issues:

  1. \Vert is too tall when requesting a medium sized bar. This issue stops at around \bBigg@{1.7}.
  2. \vert and \Vert both use stacked bars to form their characters starting at \big instead of at a much larger size. This causes inconsistent sizes between brackets and absolute value bars.

Issue 1 requires a fix in the font or a luatex patch. Issue 2 can be fixed by changing the math table, adding larger bar characters into the font, or calling \bBigg@.

tiroj commented 3 years ago

For 2.20 I have adjusted the height of the math bar characters to be consistent and have added full sets of growing forms and assemblies. Assemblies should also work for the ASCII bar U+007C, but for math it is recommended to use U+2016 (and corresponding multi-bar characters from the 2000 block).

tiroj commented 2 years ago

Updated sources and fonts delivered to STI Pub for testing. Issue reopened pending public release.