# Is there any monospace font supported by LuaLaTeX that define the JOIN operator (⨝)?

## The context

I'm currently enrolled in a Database course. In that course, we are using RelaX, a relational algebra calculator. In that calculator, you can use UTF-8 characters as operators. The following is an allowed query: π price σ model = 2001 Laptop. There also some other operators: π, σ, ρ, ←, →, τ, γ, ∧, ∨, ¬, =, ≠, ≥, ≤, ∩, ∪, ÷, -, ⨯, ⨝, ⟕, ⟖, ⟗, ⋉, ⋊ and ▷.

I am working on a homework assignment that involves writing queries in that site. For this reason, I would like to accomplish the following. First, let me introduce some things that would help you understand my question.

I know that it is possible to use UTF-8 characters within my document by using LuaLaTeX.

\documentclass{article}

\usepackage{fontspec}
\usepackage{unicode-math}

\setmathfont[math-style=upright]{XITS Math}

\begin{document}
$A ⨝ B$
\end{document}


I also know that it is possible to typeset inline math in minted environments.

\documentclass{article}

\usepackage{minted}

\begin{document}

\begin{minted}[escapeinside=||, mathescape = true]{text}
foo |$\pi$| bar
\end{minted}

\end{document}


I can put together those knowledges and accomplish the following: Insert UTF-8 characters in minted environments.

\documentclass{article}

\usepackage{fontspec}
\usepackage{unicode-math}

\usepackage{minted}

\setmathfont[math-style=upright]{XITS Math}

\begin{document}

\begin{minted}[escapeinside=||, mathescape = true]{text}
foo |$⨝$| bar
\end{minted}

\end{document}


However, I would like to get rid of the |$ and $| part within the minted environment. Thus, I would be able to copy queries from RelaX to my document without the need of previously formatting the query.

Note that the ⨝ character is not correctly displayed when using the fontspec package and setting a font for monospaced characters with \setmonofont{...}. (see minimal working below)

\documentclass{article}

\usepackage{fontspec}
\usepackage{minted}

\setmonofont{CMU Typewriter Text}

\begin{document}

\begin{minted}{text}
This is displayed:

├── common.yaml
└── virtual
├── false.yaml
└── true.yaml

This is not correctly displayed: ⨝
\end{minted}

\end{document}


I think this happens because ⨝ is not supported by CMU Typewriter Text. This leads to my question.

## The question

Is there any monospace font supported by LuaLaTeX that would display all those characters that I mentioned (namely, π, σ, ρ, ←, →, τ, γ, ∧, ∨, ¬, =, ≠, ≥, ≤, ∩, ∪, ÷, -, ⨯, ⨝, ⟕, ⟖, ⟗, ⋉, ⋊ and ▷)

• You can try NewCM-Book Math or Concrete otf math fonts for something similar in style to CM fonts. Both contain the characters you want. Commented Mar 1 at 12:21

In fact, there's Kurinto Type, part of Kurinto typefaces. Although I doubt about their quality (the author says they are designed to type with MSWord), they cover all the characters you require.

\documentclass{standalone}
\usepackage{fontspec}
\setmainfont{Kurinto Type}
\begin{document}
π, σ, ρ, ←, →, τ, γ, ∧, ∨, ¬, =, ≠, ≥, ≤, ∩, ∪, ÷, -, ⨯, ⨝, ⟕, ⟖, ⟗, ⋉, ⋊ and ▷
\end{document}


• Thanks for answering! How did you find out that that font defines the JOIN operator? Did you already know that font? Commented May 15, 2021 at 8:53
• @RodrigoMorales There's an utility named albatross (in up-to-date distributions) which allows you to find a symbol invoking, e.g. albatross ⨝ so fonts containing the requested symbol will be shown in the terminal. AFAIK Kurinto fonts aren't part of TeX Live or MikTeX, I knew them for other reasons and by mere chance 😄
– user226564
Commented May 15, 2021 at 8:57
• Besides albatross, have a look at dp4 Font Viewer (only Windows). Commented May 15, 2021 at 10:03

texlive comes with a useful program albatross that shows fonts that have a glyph:

\$ albatross 0x2A1D
__ __           __
.---.-.|  |  |--.---.-.|  |_.----.-----.-----.-----.
|  _  ||  |  _  |  _  ||   _|   _|  _  |__ --|__ --|
|___._||__|_____|___._||____|__| |_____|_____|_____|

Unicode code point [2A1D] mapping to ?
┌─────────────────────────────────────────────────────────────────────────────┐
│ Font name                                                                   │
├─────────────────────────────────────────────────────────────────────────────┤
│ FreeMono                                                                    │
├─────────────────────────────────────────────────────────────────────────────┤
│ FreeSerif                                                                   │
├─────────────────────────────────────────────────────────────────────────────┤
│ Segoe UI Symbol                                                             │
├─────────────────────────────────────────────────────────────────────────────┤
│ Symbola                                                                     │
├─────────────────────────────────────────────────────────────────────────────┤
│ Unifont                                                                     │
└─────────────────────────────────────────────────────────────────────────────┘


so trying FreeMono as a likely monospace

\documentclass{article}
\tracinglostchars2
\usepackage{fontspec}
\setmainfont{Noto Serif}
\setmonofont{FreeMono}
\begin{document}

\begin{verbatim}
This is displayed:

├── common.yaml
└── virtual
├── false.yaml
└── true.yaml

This is not correctly displayed: ⨝
\end{verbatim}
\end{document}


produces

• Looks like you need a java runtime to run albatross Commented Mar 1 at 0:20
• @dedded blame Paulo:-) Commented Mar 1 at 0:27

You can borrow the missing symbols from another font that has them, for instance Symbola.

\documentclass{article}

\usepackage{fontspec}
\usepackage{minted}
\usepackage{newunicodechar,graphicx}

\setmonofont{CMU Typewriter Text}
\newfontface{\missing}{Symbola}[FakeBold=6]

\ExplSyntaxOn
\clist_map_inline:nn {∧, ∨, ≠, ≥, ≤, ∩, ∪, ⨯, ⨝, ⟕, ⟖, ⟗, ⋉, ⋊, ▷}
{
\newunicodechar{#1}{\resizebox{0.5em}{!}{\missing #1}}
}
\ExplSyntaxOff

\begin{document}

\begin{minted}{text}
This is displayed:

├── common.yaml
└── virtual
├── false.yaml
└── true.yaml

This is not correctly displayed: ⨝
∧ ∨ ≠ ≥ ≤ ∩ ∪ ⨯ ⨝ ⟕, ⟖ ⟗ ⋉ ⋊ ▷
π, σ, ρ, ←, →, τ, γ, ∧, ∨, ¬, =, ≠, ≥, ≤,
∩, ∪, ÷, -, ⨯, ⨝, ⟕, ⟖, ⟗, ⋉, ⋊ and ▷
\end{minted}

\end{document}


https://www.fileformat.info/info/unicode/char/2A1D/fontsupport.htm yields the following list:

Cambria, Cambria Math, Code2000, EversonMono, EversonMono-Bold, EversonMono-BoldOblique, EversonMono-Oblique, FreeMono, FreeSerif, PragmataPro Liga Regular, Quivira, Segoe UI Symbol, STIX Two Math, Symbola, Unifont

I removed the entries with bad glyphs already. Don't ask me which fonts are properly monospaced; probably, all with “Mono” in their names.

In addition to what was said in other answers, you may try Everson's font:

\documentclass{article}
\pagestyle{empty}
\usepackage{fontspec}
\usepackage{minted}
\begin{document}
\begin{minted}{text}
This is displayed:


Running lualatex --shell-escape yields