summaryrefslogtreecommitdiff
path: root/fonts/jetbrainsmono-otf
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2025-01-11 03:03:36 +0000
committerNorbert Preining <norbert@preining.info>2025-01-11 03:03:36 +0000
commit84e21ccda41f074e6f0e769aaeec543e862c6b43 (patch)
tree9eac498a04db59366de92f3ae01cf5e99b902dca /fonts/jetbrainsmono-otf
parent28929e82778d6e99a566dd8d173149fcff179d63 (diff)
CTAN sync 202501110303
Diffstat (limited to 'fonts/jetbrainsmono-otf')
-rw-r--r--fonts/jetbrainsmono-otf/README.md52
-rw-r--r--fonts/jetbrainsmono-otf/doc/jetbrainsmono-otf-doc.pdfbin0 -> 156372 bytes
-rw-r--r--fonts/jetbrainsmono-otf/doc/jetbrainsmono-otf-doc.tex367
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Bold.otfbin0 -> 146896 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-BoldItalic.otfbin0 -> 154580 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraBold.otfbin0 -> 143096 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraBoldItalic.otfbin0 -> 150468 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraLight.otfbin0 -> 144616 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraLightItalic.otfbin0 -> 152840 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Italic.otfbin0 -> 149616 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Light.otfbin0 -> 146836 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-LightItalic.otfbin0 -> 154112 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Medium.otfbin0 -> 145844 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-MediumItalic.otfbin0 -> 154056 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Regular.otfbin0 -> 142604 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-SemiBold.otfbin0 -> 146288 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-SemiBoldItalic.otfbin0 -> 154652 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Thin.otfbin0 -> 141432 bytes
-rw-r--r--fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ThinItalic.otfbin0 -> 148644 bytes
-rw-r--r--fonts/jetbrainsmono-otf/tex/jetbrainscode-extralight.fontspec8
-rw-r--r--fonts/jetbrainsmono-otf/tex/jetbrainscode-light.fontspec8
-rw-r--r--fonts/jetbrainsmono-otf/tex/jetbrainscode-medium.fontspec8
-rw-r--r--fonts/jetbrainsmono-otf/tex/jetbrainscode-thin.fontspec8
-rw-r--r--fonts/jetbrainsmono-otf/tex/jetbrainscode.fontspec8
-rw-r--r--fonts/jetbrainsmono-otf/tex/jetbrainsmono-extralight.fontspec8
-rw-r--r--fonts/jetbrainsmono-otf/tex/jetbrainsmono-light.fontspec8
-rw-r--r--fonts/jetbrainsmono-otf/tex/jetbrainsmono-medium.fontspec8
-rw-r--r--fonts/jetbrainsmono-otf/tex/jetbrainsmono-otf.sty33
-rw-r--r--fonts/jetbrainsmono-otf/tex/jetbrainsmono-thin.fontspec8
-rw-r--r--fonts/jetbrainsmono-otf/tex/jetbrainsmono.fontspec8
30 files changed, 532 insertions, 0 deletions
diff --git a/fonts/jetbrainsmono-otf/README.md b/fonts/jetbrainsmono-otf/README.md
new file mode 100644
index 0000000000..8ecf2f6c74
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/README.md
@@ -0,0 +1,52 @@
+jetbrainsmono-otf fonts
+=======================
+
+## Description
+
+`jetbrainsmono-otf` is the version of jetbrainsmono with or without ligatures.
+Official site is https://www.jetbrains.com/lp/mono/
+JetBrains Mono typeface is available under the SIL Open Font License 1.1 license
+
+## Contents
+
+* the `tex/` directory holds the fontspec configuration files and the .sty file;
+* the `doc/` directory holds short documentation with samples;
+* the `font/`...directory holds font files.
+
+## Usage
+
+lualatex/xelatex and fontspec are necessary in order to use cascadiamono fonts.
+`mono` version (w/o ligatures) and `code` version (w ligatures) are available.
+
+* 'Normal' version of the font is available with `\setmonofont{jetbrainsmono/code}[options]` or with `\jetbrainsmono`.
+* 'Medium' version of the font is available with `\setmonofont{jetbrainsmono/code-medium}[options]` or with `\jetbrainsmonomedium`.
+* 'Light' version of the font is available with `\setmonofont{jetbrainsmono/code-light}[options]` or with `\jetbrainsmonolight`.
+* 'ExtraLight' version of the font is available with `\setmonofont{jetbrainsmono/code-extralight}[options]` or with `\jetbrainsmonoextralight`.
+* 'Thin' version of the font is available with `\setmonofont{jetbrainsmono-thin}[options]` or with `\jetbrainsmonothin`.
+
+## Installation
+
+This package is meant to be installed automatically by TeXLive, MikTeX, etc.
+Otherwise, `jetbrainsmono-otf` can be installed under TEXMFHOME or TEXMFLOCAL, f.i.
+
++ sty file (`tex/*.sty`) in directory `texmf-local/tex/latex/jetbrainsmono-otf/`
++ fontspec files (`tex/*.fontspec`) in directory `texmf-local/tex/latex/jetbrainsmono-otf/`
++ documentation (from doc/ directory) in `texmf-local/doc/fonts/public/jetbrainsmono-otf/`
++ font files in `texmf-local/fonts/opentype/SIL/jetbrainsmono/`
+
+Don't forget to rebuild the file database (mktexlsr or so) if you install under TEXMFLOCAL.
+Finally, you may want to make the system font database aware of the `jetbrainsmono-otf` fonts (fontconfig under Linux).
+
+## License
+
+* Files are distributed under the terms of the LaTeX Project
+Public License from CTAN archives in directory macros/latex/base/lppl.txt.
+Either version 1.3 or, at your option, any later version.
+JetBrains Mono typeface is available under the SIL Open Font License 1.1 license.
+
+## Changes
+* v0.1 (experimental).
+
+---
+Copyright 2025 C. Pierquet (with help from D. Flipo)
+E-mail: cpierquet (at) outlook (dot) fr
diff --git a/fonts/jetbrainsmono-otf/doc/jetbrainsmono-otf-doc.pdf b/fonts/jetbrainsmono-otf/doc/jetbrainsmono-otf-doc.pdf
new file mode 100644
index 0000000000..979d5f2519
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/doc/jetbrainsmono-otf-doc.pdf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/doc/jetbrainsmono-otf-doc.tex b/fonts/jetbrainsmono-otf/doc/jetbrainsmono-otf-doc.tex
new file mode 100644
index 0000000000..d1bbe4def4
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/doc/jetbrainsmono-otf-doc.tex
@@ -0,0 +1,367 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: lualatex: {shell: no, synctex: no, interaction: batchmode}
+
+\documentclass{article}
+\usepackage[margin=0.5in]{geometry}
+\usepackage{jetbrainsmono-otf}
+\usepackage{listings}
+\usepackage{xcolor}
+\setlength{\parindent}{0pt}
+
+\newcommand\demotext{For \textsterling 45, almost anything can be found floating in fields.\\
+ !`THE DAZED BROWN FOX QUICKLY GAVE 12345--67890 JUMPS!\\
+ --- ?`But aren't Kafka's Schlo\ss{} and \AE sop's \OE uvres often na\"\i ve vis-\`a-vis the d\ae monic ph\oe nix's official r\^ole in fluffy souffl\'es?
+}
+
+\newcommand\samplettxt{oO08 iIlL1 g9qCGQ <=>}
+\newcommand\samplett[1][]{#1\samplettxt}
+\newcommand\samplettit[1][]{\textit{#1\samplettxt}}
+\newcommand\samplettbf[1][]{\textbf{#1\samplettxt}}
+\newcommand\samplettbfit[1][]{\textbf{\textit{#1\samplettxt}}}
+\newcommand\sampletttbl[1][]{& \samplett[#1] & \samplettit[#1] & \samplettbf[#1] & \samplettbfit[#1]}
+
+\begin{document}
+
+\part*{jetbrainsmono-otf (v0.1)}
+
+\section{Usages}
+
+With \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|\usepackage{fontspec}| (so with \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|XeTeX| or \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|LuaLaTeX| compilation), you can use \texttt{JetBrainsMono} fonts, and (if needed) \textit{remove} ligature's features, in order to use (in fact) \texttt{JetBrainsMonoNL} fonts. Following \textsf{OpenType} fonts are supported :
+
+\begin{lstlisting}[language={[latex]TeX},basicstyle=\footnotesize\ttfamily,commentstyle=\itshape\color{gray},keywordstyle=\color{magenta},tabsize=4,frame=single]
+JetBrainsMono-Bold.otf JetBrainsMono-BoldItalic.otf
+JetBrainsMono-ExtraBold.otf JetBrainsMono-ExtraBoldItalic.otf
+JetBrainsMono-ExtraLight.otf JetBrainsMono-ExtraLightItalic.otf
+JetBrainsMono-Italic.otf JetBrainsMono-Light.otf
+JetBrainsMono-LightItalic.otf JetBrainsMono-Medium.otf
+JetBrainsMono-MediumItalic.otf JetBrainsMono-Regular.otf
+JetBrainsMono-SemiBold.otf JetBrainsMono-SemiBoldItalic.otf
+JetBrainsMono-Thin.otf JetBrainsMono-ThinItalic.otf
+\end{lstlisting}
+
+Two version of config/macro are available :
+
+\begin{tabular}{l}
+ ~~~\lstinline[language={[latex]TeX},basicstyle=\ttfamily]|jetbrainsmono(-xxxx)| or \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|jetbrainscode(-xxxx)|
+ \\
+ ~~~\lstinline[language={[latex]TeX},basicstyle=\ttfamily]|\jetbrainsmono(xxxx)| or \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|\jetbrainscode(xxxx)| \\
+\end{tabular}
+
+\section{The default settings}
+
+The \texttt{fontspec} config for the \textit{normal} version :
+
+\begin{lstlisting}[language={[latex]TeX},basicstyle=\footnotesize\ttfamily,commentstyle=\itshape\color{gray},keywordstyle=\color{magenta},tabsize=4,frame=single]
+\defaultfontfeatures[jetbrainsmono] % or jetbrainscode
+{Extension=.otf,
+ UprightFont=JetBrainsMono-Regular,
+ ItalicFont=JetBrainsMono-Italic,
+ BoldFont=JetBrainsMono-Bold,
+ BoldItalicFont=JetBrainsMono-BoldItalic,
+ Contextuals=AlternateOff %for mono version
+}
+\end{lstlisting}
+
+The \texttt{fontspec} config for the other versions are :
+
+\begin{lstlisting}[language={[latex]TeX},basicstyle=\footnotesize\ttfamily,commentstyle=\itshape\color{gray},keywordstyle=\color{magenta},tabsize=4,frame=single]
+\defaultfontfeatures[jetbrainsmono-medium] % or jetbrainscode-medium
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-Medium,
+ ItalicFont=JetBrainsMono-MediumItalic,
+ BoldFont=JetBrainsMono-ExtraBold,
+ BoldItalicFont=JetBrainsMono-ExtraBoldItalic,
+ Contextuals=AlternateOff %for mono version
+}
+\end{lstlisting}
+
+\begin{lstlisting}[language={[latex]TeX},basicstyle=\footnotesize\ttfamily,commentstyle=\itshape\color{gray},keywordstyle=\color{magenta},tabsize=4,frame=single]
+\defaultfontfeatures[jetbrainsmono-light] % or jetbrainscode-light
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-Light,
+ ItalicFont=JetBrainsMono-LightItalic,
+ BoldFont=JetBrainsMono-SemiBold,
+ BoldItalicFont=JetBrainsMono-SemiBoldItalic,
+ Contextuals=AlternateOff %for mono version
+}
+\end{lstlisting}
+
+\begin{lstlisting}[language={[latex]TeX},basicstyle=\footnotesize\ttfamily,commentstyle=\itshape\color{gray},keywordstyle=\color{magenta},tabsize=4,frame=single]
+\defaultfontfeatures[jetbrainsmono-extralight] % or jetbrainscode-extralight
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-ExtraLight,
+ ItalicFont=JetBrainsMono-ExtraLightItalic,
+ BoldFont=JetBrainsMono-Medium,
+ BoldItalicFont=JetBrainsMono-MediumItalic,
+ Contextuals=AlternateOff %for mono version
+}
+\end{lstlisting}
+
+\begin{lstlisting}[language={[latex]TeX},basicstyle=\footnotesize\ttfamily,commentstyle=\itshape\color{gray},keywordstyle=\color{magenta},tabsize=4,frame=single]
+\defaultfontfeatures[jetbrainsmono-thin] % or jetbrainscode-thin
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-Thin,
+ ItalicFont=JetBrainsMono-ThinItalic,
+ BoldFont=JetBrainsMono-Regular,
+ BoldItalicFont=JetBrainsMono-Italic,
+ Contextuals=AlternateOff %for mono version
+}
+\end{lstlisting}
+
+\subsection{With config files}
+
+The idea is to propose \texttt{fontspec} config files to load correctly \texttt{JetBrainsMono} features.
+
+\begin{lstlisting}[language={[latex]TeX},basicstyle=\footnotesize\ttfamily,commentstyle=\itshape\color{gray},keywordstyle=\color{magenta},tabsize=4,frame=single]
+\usepackage{fontspec}
+\setmonofont{jetbrainsmono}[options] %version regular
+\setmonofont{jetbrainsmono-medium}[options] %version semilight
+\setmonofont{jetbrainsmono-light}[options] %version light
+\setmonofont{jetbrainsmono-extralight}[options] %version extralight
+\setmonofont{jetbrainsmono-thin}[options] %version thin
+\end{lstlisting}
+
+\subsection{With the package loading}
+
+With \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|\usepackage[scale=...]{jetbrainsmono-oft}|, \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|fontspec| is loaded, and \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|fontfamily| are defined :
+
+\begin{lstlisting}[language={[latex]TeX},basicstyle=\footnotesize\ttfamily,commentstyle=\itshape\color{gray},keywordstyle=\color{magenta},tabsize=4,frame=single]
+\newfontfamily\jetbrainsmono{jetbrainsmono}
+\newfontfamily\jetbrainsmonomedium{jetbrainsmono-medium}
+\newfontfamily\jetbrainsmonolight{jetbrainsmono-light}
+\newfontfamily\jetbrainsmonoextralight{jetbrainsmono-extralight}
+\newfontfamily\jetbrainsmonothin{jetbrainsmono-thin}
+\end{lstlisting}
+
+\section{Font Samples}
+
+\subsection{Normal version}
+
+\setmonofont{jetbrainsmono}[Scale=MatchLowercase]
+
+\texttt{\demotext}\par\bigskip
+
+\texttt{\textit{\demotext}}\par\bigskip
+
+\texttt{\textbf{\demotext}}\par\bigskip
+
+\texttt{\textbf{\textit{\demotext}}}\par
+
+\subsection{Medium version}
+
+\setmonofont{JetBrainsMonoMedium}[Scale=MatchLowercase]
+
+\texttt{\demotext}\par\bigskip
+
+\texttt{\itshape\demotext}\par\bigskip
+
+\texttt{\bfseries\demotext}\par\bigskip
+
+\texttt{\bfseries\itshape\demotext}\par
+
+\subsection{Light version (Light - LightItalic - Regular - Italic)}
+
+\setmonofont{jetbrainsmono-light}[Scale=MatchLowercase]
+
+\texttt{\demotext}\par\bigskip
+
+\texttt{\itshape\demotext}\par\bigskip
+
+\texttt{\bfseries\demotext}\par\bigskip
+
+\texttt{\bfseries\itshape\demotext}\par
+
+\subsection{ExtraLight version (ExtraLight - ExtraLightItalic - SemiLightItalic - SemiLightItalic)}
+
+\setmonofont{jetbrainsmono-extralight}[Scale=MatchLowercase]
+
+\texttt{\demotext}\par\bigskip
+
+\texttt{\itshape\demotext}\par\bigskip
+
+\texttt{\bfseries\demotext}\par\bigskip
+
+\texttt{\bfseries\itshape\demotext}\par
+
+\subsection{Thin version}
+
+\setmonofont{jetbrainsmono-thin}[Scale=MatchLowercase]
+
+\texttt{\demotext}\par\bigskip
+
+\texttt{\itshape\demotext}\par\bigskip
+
+\texttt{\bfseries\demotext}\par\bigskip
+
+\texttt{\bfseries\itshape\demotext}\par
+
+\section{Simple code samples}
+
+\setmonofont{CMU Typewriter Text}[Scale=MatchLowercase]
+
+\noindent{\small \begin{tabular}{lllll}
+ \hline
+ Type & Normal & Italic & Bold & BoldItalic \\ \hline
+ ttdefault \sampletttbl[\ttfamily] \\ \hline
+ %mono
+ JBmono \sampletttbl[\jetbrainsmono] \\ \hline
+ JBmonomedium \sampletttbl[\jetbrainsmonomedium] \\ \hline
+ JBmonolight \sampletttbl[\jetbrainsmonolight] \\ \hline
+ JBmonoextralight \sampletttbl[\jetbrainsmonoextralight] \\ \hline
+ JBmonothin \sampletttbl[\jetbrainsmonothin] \\ \hline
+ %code
+ JBcode \sampletttbl[\jetbrainscode] \\ \hline
+ JBcodemedium \sampletttbl[\jetbrainscodemedium] \\ \hline
+ JBcodelight \sampletttbl[\jetbrainscodelight] \\ \hline
+ JBcodeextralight \sampletttbl[\jetbrainscodeextralight] \\ \hline
+ JBcodethin \sampletttbl[\jetbrainscodethin] \\ \hline
+\end{tabular}}
+
+\section{Algorithm samples, without ligatures}
+
+\subsection{Normal version}
+
+\begin{lstlisting}[language=python,basicstyle=\footnotesize\jetbrainsmono,commentstyle=\itshape\color{gray},keywordstyle=\bfseries\color{magenta},tabsize=4,frame=single]
+def Fibonacci(n) :
+ # Check if input is 0 then it will print incorrect input
+ if n < 0 :
+ print("Incorrect input")
+ elif n == 0 :
+ return 0
+ elif n == 1 or n == 2 :
+ return 1
+ else :
+ return Fibonacci(n-1) + Fibonacci(n-2)
+\end{lstlisting}
+
+\subsection{Medium version}
+
+\begin{lstlisting}[language=python,basicstyle=\footnotesize\jetbrainsmonomedium,commentstyle=\itshape\color{gray},keywordstyle=\bfseries\color{magenta},tabsize=4,frame=single]
+def Fibonacci(n) :
+ # Check if input is 0 then it will print incorrect input
+ if n < 0 :
+ print("Incorrect input")
+ elif n == 0 :
+ return 0
+ elif n == 1 or n == 2 :
+ return 1
+ else :
+ return Fibonacci(n-1) + Fibonacci(n-2)
+\end{lstlisting}
+
+\subsection{Light version}
+
+\begin{lstlisting}[language=python,basicstyle=\footnotesize\jetbrainsmonolight,commentstyle=\itshape\color{gray},keywordstyle=\bfseries\color{magenta},tabsize=4,frame=single]
+def Fibonacci(n) :
+ # Check if input is 0 then it will print incorrect input
+ if n < 0 :
+ print("Incorrect input")
+ elif n == 0 :
+ return 0
+ elif n == 1 or n == 2 :
+ return 1
+ else :
+ return Fibonacci(n-1) + Fibonacci(n-2)
+\end{lstlisting}
+
+\subsection{ExtraLight version}
+
+\begin{lstlisting}[language=python,basicstyle=\footnotesize\jetbrainsmonoextralight,commentstyle=\itshape\color{gray},keywordstyle=\bfseries\color{magenta},tabsize=4,frame=single]
+def Fibonacci(n) :
+ # Check if input is 0 then it will print incorrect input
+ if n < 0 :
+ print("Incorrect input")
+ elif n == 0 :
+ return 0
+ elif n == 1 or n == 2 :
+ return 1
+ else :
+ return Fibonacci(n-1) + Fibonacci(n-2)
+\end{lstlisting}
+
+\subsection{Thin version}
+
+\begin{lstlisting}[language=python,basicstyle=\footnotesize\jetbrainsmonothin,commentstyle=\itshape\color{gray},keywordstyle=\bfseries\color{magenta},tabsize=4,frame=single]
+def Fibonacci(n) :
+ # Check if input is 0 then it will print incorrect input
+ if n < 0 :
+ print("Incorrect input")
+ elif n == 0 :
+ return 0
+ elif n == 1 or n == 2 :
+ return 1
+ else :
+ return Fibonacci(n-1) + Fibonacci(n-2)
+\end{lstlisting}
+
+\pagebreak
+
+\section{Algorithm code, with ligatures}
+
+\setmonofont{CMU Typewriter Text}[Scale=MatchLowercase]
+
+Regular version of the fonts, with ligatures enable, can be uses with \texttt{code} alias (\lstinline[language={[latex]TeX},basicstyle=\ttfamily]|\jetbrainscode|).
+
+\makeatletter
+\renewcommand*\verbatim@nolig@list{}
+\makeatother
+
+\begin{lstlisting}[language=python,basicstyle=\footnotesize\jetbrainscode,commentstyle=\itshape\color{gray},keywordstyle=\bfseries\color{magenta},tabsize=4,frame=single,columns=flexible,showstringspaces=false]
+\lstset{
+ language=python,
+ basicstyle=\footnotesize\jetbrainscode,
+ commentstyle=\itshape\color{gray},
+ keywordstyle=\bfseries\color{magenta},
+ tabsize=4,
+ frame=single,
+ columns=flexible,
+ showstringspaces=false
+}
+\end{lstlisting}
+
+\begin{lstlisting}[language=python,basicstyle=\footnotesize\jetbrainscode,commentstyle=\itshape\color{gray},keywordstyle=\bfseries\color{magenta},tabsize=4,frame=single,columns=flexible,showstringspaces=false]
+const similar = "oO08 iIlL1 g9qCGQ"
+const diacritics_etc = "â é ù ï ø ç à Ē Æ œ"
+
+window.toggleFavorite = (alias) => {
+ try {
+ let favorites = JSON.parse(localStorage.getItem('favorites')) || []
+ if (favorites.indexOf(alias) > -1) {
+ favorites = favorites.filter((v) => {
+ return v !== alias
+ })
+ } else {
+ favorites.push(alias)
+ }
+ localStorage.setItem('favorites', JSON.stringify(Array.from(new Set(favorites))))
+ } catch (err) {
+ // eslint-disable-next-line no-console
+ console.error('could not save favorite', err)
+ }
+ renderSelectList()
+ return false
+}
+\end{lstlisting}
+
+\begin{lstlisting}[language=python,basicstyle=\footnotesize\jetbrainscode,commentstyle=\itshape\color{gray},keywordstyle=\bfseries\color{magenta},tabsize=4,frame=single,columns=flexible,showstringspaces=false]
+def Fibonacci(n) :
+ # Check if input is 0 then it will print incorrect input
+ if n < 0 :
+ print("Incorrect input")
+ elif n == 0 :
+ return 0
+ elif 1 <= n <= 2 :
+ return 1
+ else :
+ return Fibonacci(n-1) + Fibonacci(n-2)
+\end{lstlisting}
+
+\pagebreak
+
+\section{History}
+
+\begin{verbatim}
+v0.1 Initial version
+\end{verbatim}
+
+\end{document}
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Bold.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Bold.otf
new file mode 100644
index 0000000000..4bde966106
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Bold.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-BoldItalic.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-BoldItalic.otf
new file mode 100644
index 0000000000..4cdacb8b1c
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-BoldItalic.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraBold.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraBold.otf
new file mode 100644
index 0000000000..77b00858b4
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraBold.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraBoldItalic.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraBoldItalic.otf
new file mode 100644
index 0000000000..908591db0f
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraBoldItalic.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraLight.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraLight.otf
new file mode 100644
index 0000000000..0caaab20c9
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraLight.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraLightItalic.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraLightItalic.otf
new file mode 100644
index 0000000000..9bf3c27f3e
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ExtraLightItalic.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Italic.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Italic.otf
new file mode 100644
index 0000000000..74b2dff514
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Italic.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Light.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Light.otf
new file mode 100644
index 0000000000..8a74bbd9b1
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Light.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-LightItalic.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-LightItalic.otf
new file mode 100644
index 0000000000..e14b023baa
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-LightItalic.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Medium.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Medium.otf
new file mode 100644
index 0000000000..68b25237d1
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Medium.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-MediumItalic.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-MediumItalic.otf
new file mode 100644
index 0000000000..8240b2c208
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-MediumItalic.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Regular.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Regular.otf
new file mode 100644
index 0000000000..e306e7611a
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Regular.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-SemiBold.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-SemiBold.otf
new file mode 100644
index 0000000000..64b0b26818
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-SemiBold.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-SemiBoldItalic.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-SemiBoldItalic.otf
new file mode 100644
index 0000000000..c71c339a85
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-SemiBoldItalic.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Thin.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Thin.otf
new file mode 100644
index 0000000000..88368013e1
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-Thin.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ThinItalic.otf b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ThinItalic.otf
new file mode 100644
index 0000000000..dcee88ab67
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/fonts/opentype/SIL/jetbrainsmono/JetBrainsMono-ThinItalic.otf
Binary files differ
diff --git a/fonts/jetbrainsmono-otf/tex/jetbrainscode-extralight.fontspec b/fonts/jetbrainsmono-otf/tex/jetbrainscode-extralight.fontspec
new file mode 100644
index 0000000000..c75f36d79b
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/tex/jetbrainscode-extralight.fontspec
@@ -0,0 +1,8 @@
+\defaultfontfeatures[jetbrainscode-extralight]
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-ExtraLight,
+ ItalicFont=JetBrainsMono-ExtraLightItalic,
+ BoldFont=JetBrainsMono-Medium,
+ BoldItalicFont=JetBrainsMono-MediumItalic,
+ Contextuals=Alternate
+} \ No newline at end of file
diff --git a/fonts/jetbrainsmono-otf/tex/jetbrainscode-light.fontspec b/fonts/jetbrainsmono-otf/tex/jetbrainscode-light.fontspec
new file mode 100644
index 0000000000..3eea8a87dc
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/tex/jetbrainscode-light.fontspec
@@ -0,0 +1,8 @@
+\defaultfontfeatures[jetbrainscode-light]
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-Light,
+ ItalicFont=JetBrainsMono-LightItalic,
+ BoldFont=JetBrainsMono-SemiBold,
+ BoldItalicFont=JetBrainsMono-SemiBoldItalic,
+ Contextuals=Alternate
+} \ No newline at end of file
diff --git a/fonts/jetbrainsmono-otf/tex/jetbrainscode-medium.fontspec b/fonts/jetbrainsmono-otf/tex/jetbrainscode-medium.fontspec
new file mode 100644
index 0000000000..2073accd6a
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/tex/jetbrainscode-medium.fontspec
@@ -0,0 +1,8 @@
+\defaultfontfeatures[jetbrainscode-medium]
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-Medium,
+ ItalicFont=JetBrainsMono-MediumItalic,
+ BoldFont=JetBrainsMono-ExtraBold,
+ BoldItalicFont=JetBrainsMono-ExtraBoldItalic,
+ Contextuals=Alternate
+} \ No newline at end of file
diff --git a/fonts/jetbrainsmono-otf/tex/jetbrainscode-thin.fontspec b/fonts/jetbrainsmono-otf/tex/jetbrainscode-thin.fontspec
new file mode 100644
index 0000000000..7c7672da69
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/tex/jetbrainscode-thin.fontspec
@@ -0,0 +1,8 @@
+\defaultfontfeatures[jetbrainscode-thin]
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-Thin,
+ ItalicFont=JetBrainsMono-ThinItalic,
+ BoldFont=JetBrainsMono-Regular,
+ BoldItalicFont=JetBrainsMono-Italic,
+ Contextuals=Alternate
+} \ No newline at end of file
diff --git a/fonts/jetbrainsmono-otf/tex/jetbrainscode.fontspec b/fonts/jetbrainsmono-otf/tex/jetbrainscode.fontspec
new file mode 100644
index 0000000000..19ce3c9653
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/tex/jetbrainscode.fontspec
@@ -0,0 +1,8 @@
+\defaultfontfeatures[jetbrainscode]
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-Regular,
+ ItalicFont=JetBrainsMono-Italic,
+ BoldFont=JetBrainsMono-Bold,
+ BoldItalicFont=JetBrainsMono-BoldItalic,
+ Contextuals=Alternate
+} \ No newline at end of file
diff --git a/fonts/jetbrainsmono-otf/tex/jetbrainsmono-extralight.fontspec b/fonts/jetbrainsmono-otf/tex/jetbrainsmono-extralight.fontspec
new file mode 100644
index 0000000000..f8db94300e
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/tex/jetbrainsmono-extralight.fontspec
@@ -0,0 +1,8 @@
+\defaultfontfeatures[jetbrainsmono-extralight]
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-ExtraLight,
+ ItalicFont=JetBrainsMono-ExtraLightItalic,
+ BoldFont=JetBrainsMono-Medium,
+ BoldItalicFont=JetBrainsMono-MediumItalic,
+ Contextuals=AlternateOff
+} \ No newline at end of file
diff --git a/fonts/jetbrainsmono-otf/tex/jetbrainsmono-light.fontspec b/fonts/jetbrainsmono-otf/tex/jetbrainsmono-light.fontspec
new file mode 100644
index 0000000000..06e231035f
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/tex/jetbrainsmono-light.fontspec
@@ -0,0 +1,8 @@
+\defaultfontfeatures[jetbrainsmono-light]
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-Light,
+ ItalicFont=JetBrainsMono-LightItalic,
+ BoldFont=JetBrainsMono-SemiBold,
+ BoldItalicFont=JetBrainsMono-SemiBoldItalic,
+ Contextuals=AlternateOff
+} \ No newline at end of file
diff --git a/fonts/jetbrainsmono-otf/tex/jetbrainsmono-medium.fontspec b/fonts/jetbrainsmono-otf/tex/jetbrainsmono-medium.fontspec
new file mode 100644
index 0000000000..5e020f661b
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/tex/jetbrainsmono-medium.fontspec
@@ -0,0 +1,8 @@
+\defaultfontfeatures[jetbrainsmono-medium]
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-Medium,
+ ItalicFont=JetBrainsMono-MediumItalic,
+ BoldFont=JetBrainsMono-ExtraBold,
+ BoldItalicFont=JetBrainsMono-ExtraBoldItalic,
+ Contextuals=AlternateOff
+} \ No newline at end of file
diff --git a/fonts/jetbrainsmono-otf/tex/jetbrainsmono-otf.sty b/fonts/jetbrainsmono-otf/tex/jetbrainsmono-otf.sty
new file mode 100644
index 0000000000..17dc7f39e6
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/tex/jetbrainsmono-otf.sty
@@ -0,0 +1,33 @@
+% jetbrainsmono-otf.sty
+% C. Pierquet 2025
+% JetBrains Mono typeface is available under the SIL Open Font License 1.1 license
+%
+% This file is distributed under the terms of the LaTeX Project Public
+% License from CTAN archives in directory macros/latex/base/lppl.txt.
+% Either version 1.3 or, at your option, any later version.
+
+\ProvidesPackage{jetbrainsmono-otf}[2025/01/10 v0.1 Supports JetBrainsMono fonts for lualatex and xelatex.]
+
+\RequirePackage{xkeyval}
+
+\newcommand*{\JetBrainsMono@scale}{MatchLowercase}
+\DeclareOptionX{scale}{\renewcommand*{\JetBrainsMono@scale}{#1}}
+\ProcessOptionsX\relax
+
+\RequirePackage{fontspec}
+\defaultfontfeatures{
+ HyphenChar=None,
+ Scale =\JetBrainsMono@scale}
+\newfontfamily\jetbrainsmono{jetbrainsmono}
+\newfontfamily\jetbrainsmonoextralight{jetbrainsmono-extralight}
+\newfontfamily\jetbrainsmonolight{jetbrainsmono-light}
+\newfontfamily\jetbrainsmonomedium{jetbrainsmono-medium}
+\newfontfamily\jetbrainsmonothin{jetbrainsmono-thin}
+\newfontfamily\jetbrainscode{jetbrainscode}
+\newfontfamily\jetbrainscodeextralight{jetbrainscode-extralight}
+\newfontfamily\jetbrainscodelight{jetbrainscode-light}
+\newfontfamily\jetbrainscodemedium{jetbrainscode-medium}
+\newfontfamily\jetbrainscodethin{jetbrainscode-thin}
+\defaultfontfeatures{}
+
+\endinput \ No newline at end of file
diff --git a/fonts/jetbrainsmono-otf/tex/jetbrainsmono-thin.fontspec b/fonts/jetbrainsmono-otf/tex/jetbrainsmono-thin.fontspec
new file mode 100644
index 0000000000..d79ba8c9e2
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/tex/jetbrainsmono-thin.fontspec
@@ -0,0 +1,8 @@
+\defaultfontfeatures[jetbrainsmono-thin]
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-Thin,
+ ItalicFont=JetBrainsMono-ThinItalic,
+ BoldFont=JetBrainsMono-Regular,
+ BoldItalicFont=JetBrainsMono-Italic,
+ Contextuals=AlternateOff
+} \ No newline at end of file
diff --git a/fonts/jetbrainsmono-otf/tex/jetbrainsmono.fontspec b/fonts/jetbrainsmono-otf/tex/jetbrainsmono.fontspec
new file mode 100644
index 0000000000..51e0f01ff4
--- /dev/null
+++ b/fonts/jetbrainsmono-otf/tex/jetbrainsmono.fontspec
@@ -0,0 +1,8 @@
+\defaultfontfeatures[jetbrainsmono]
+ {Extension=.otf,
+ UprightFont=JetBrainsMono-Regular,
+ ItalicFont=JetBrainsMono-Italic,
+ BoldFont=JetBrainsMono-Bold,
+ BoldItalicFont=JetBrainsMono-BoldItalic,
+ Contextuals=AlternateOff
+} \ No newline at end of file