I need to create a table where each cell is 1em x 1em. The contents of each cell in the table will be a single glyph from a special Unicode font. Each glyph is 1.1em x 1.1em. There is intentional overlap of 0.05em on each side and top and bottom. That overlap should not be clipped and should be centered. The assembly of all of the cells is the diagram of a rational link (in Knot Theory).
I do not have a working example other than using the normal tabular environment (with special structs to force a minimum row height). However, this doesn't work well, and since the font is not (yet) available on CTAN no example I provide could be built in any case.
I am using LuaLaTeX (although XeLaTeX should also work).
Here is an example of what I am doing now. The Logix package includes the glyphs used for the custom font.
\documentclass[10pt]{article}
\usepackage{mathtools}
\usepackage{fontspec}
\usepackage{unicode-math}
\usepackage{lualatex-math}
\setmainfont{STIX Two Text}[NFSSFamily=mainfont]
\setmathfont{STIX Two Math}[NFSSFamily=mathfont]
\include{Logix} % Custom font
\begin{document}
\begin{center}
\begin{tabular}{ @{} c @{} r @{} c @{} c @{} l @{} c @{} }
\KntLTSC & \KntTSFN & \KntXSUSO & \KntTSN & \KntRFC & \KntEnd \\[-0.60em]
\KntLJSC & \KntLQC & & \KntXSOSU & & \KntEnd \\[-0.60em]
\KntLBSC & \KntBSFN & \KntXSUSO & \KntBSN & \KntRFC & \KntEnd
\end{tabular}
\end{center}
\end{document}
And here is a picture of the output
Here is the code that I used for the parbox suggestion.
\documentclass[10pt]{article}
\usepackage{mathtools}
\usepackage{fontspec}
\usepackage{unicode-math}
\usepackage{lualatex-math}
\setmainfont{STIX Two Text}[NFSSFamily=mainfont]
\setmathfont{STIX Two Math}[NFSSFamily=mathfont]
\include{Logix} % Custom font
\begin{document}
\begin{center}
\begin{tabular}{ @{} c @{} r @{} c @{} c @{} l @{} }
\parbox[c][1em]{1em}{\KntLTSC} & \parbox[c][1em]{1em}{\KntTSN} & \parbox[c][1em]{1em}{\KntHXSUSO} & \parbox[c][1em]{1em}{\KntTSN} & \parbox[c][1em]{1em}{\KntRCS} \\
\parbox[c][1em]{1em}{\KntLSN} & \parbox[c][1em]{1em}{\KntLCS} & & \parbox[c][1em]{1em}{\KntHXSOSU} & \\
\parbox[c][1em]{1em}{\KntBLSC} & \parbox[c][1em]{1em}{\KntBSN} & \parbox[c][1em]{1em}{\KntHXSUSO} & \parbox[c][1em]{1em}{\KntBSN} & \parbox[c][1em]{1em}{\KntRCS}
\end{tabular}
\end{center}
\bigskip
\begin{center}
\parbox[c][1em]{1em}{\KntLTSC} \parbox[c][1em]{1em}{\KntTSN} \parbox[c][1em]{1em}{\KntHXSUSO} \parbox[c][1em]{1em}{\KntTSN} \parbox[c][1em]{1em}{\KntRCS} \\
\parbox[c][1em]{1em}{\KntLSN} \parbox[c][1em]{1em}{\KntLCS} \parbox[c][1em]{1em}{} \parbox[c][1em]{1em}{\KntHXSOSU} \parbox[c][1em]{1em}{} \\
\parbox[c][1em]{1em}{\KntBLSC} \parbox[c][1em]{1em}{\KntBSN} \parbox[c][1em]{1em}{\KntHXSUSO} \parbox[c][1em]{1em}{\KntBSN} \parbox[c][1em]{1em}{\KntRCS}
\end{center}
\end{document}
And here is the output
Vertical glue is being added in both versions. The table version does not appear to be adding horizontal glue, but is also not positioning the parboxes correctly.






\renewcommand{\arraystretch}{.8}instead. – Teepeemm Jun 03 '19 at 01:33