Last active
October 13, 2021 07:17
-
-
Save 9999years/0135bc3de018aeeead4075807dec449a to your computer and use it in GitHub Desktop.
Ligatures with PragmataPro 0.827, probably XeLaTeX or LuaTeX, and listings / fontspec
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% setup | |
\usepackage{fontspec} | |
\setmonofont[ | |
Contextuals=Alternate, | |
]{PragmataPro Liga} | |
\usepackage{listings} | |
\lstset{ | |
basicstyle=\ttfamily, | |
} | |
% alternatively, measure this at the beginning of the literate sequences...? | |
% this might not hold up for other font sizes | |
\newlength{\pprochar} | |
\settowidth{\pprochar}{\texttt{x}} | |
\lstset{ | |
columns=flexible, | |
literate=% | |
{!!}{\makebox[2\pprochar][r]{\char"E900}}2 | |
{!=}{\makebox[2\pprochar][r]{\char"E901}}2 | |
{!≡}{\makebox[2\pprochar][r]{\char"E904}}2 | |
{!>}{\makebox[2\pprochar][r]{\char"E906}}2 | |
{\#(}{\makebox[2\pprochar][r]{\char"E920}}2 | |
{\#\_}{\makebox[2\pprochar][r]{\char"E921}}2 | |
{\#\{}{\makebox[2\pprochar][r]{\char"E922}}2 | |
{\#?}{\makebox[2\pprochar][r]{\char"E923}}2 | |
{\#>}{\makebox[2\pprochar][r]{\char"E924}}2 | |
{\#\#}{\makebox[2\pprochar][r]{\char"E925}}2 | |
{\%=}{\makebox[2\pprochar][r]{\char"E930}}2 | |
{\%>}{\makebox[2\pprochar][r]{\char"E931}}2 | |
{\&\%}{\makebox[2\pprochar][r]{\char"E940}}2 | |
{\&\&}{\makebox[2\pprochar][r]{\char"E941}}2 | |
{\&*}{\makebox[2\pprochar][r]{\char"E942}}2 | |
{\&+}{\makebox[2\pprochar][r]{\char"E943}}2 | |
{\&-}{\makebox[2\pprochar][r]{\char"E944}}2 | |
{\&/}{\makebox[2\pprochar][r]{\char"E945}}2 | |
{\&=}{\makebox[2\pprochar][r]{\char"E946}}2 | |
{\&>}{\makebox[2\pprochar][r]{\char"E948}}2 | |
{\$>}{\makebox[2\pprochar][r]{\char"E955}}2 | |
{*=}{\makebox[2\pprochar][r]{\char"E961}}2 | |
{*/}{\makebox[2\pprochar][r]{\char"E962}}2 | |
{*>}{\makebox[2\pprochar][r]{\char"E963}}2 | |
{++}{\makebox[2\pprochar][r]{\char"E970}}2 | |
{+=}{\makebox[2\pprochar][r]{\char"E972}}2 | |
{+>}{\makebox[2\pprochar][r]{\char"E973}}2 | |
{--}{\makebox[2\pprochar][r]{\char"E980}}2 | |
{-<}{\makebox[2\pprochar][r]{\char"E981}}2 | |
{-=}{\makebox[2\pprochar][r]{\char"E983}}2 | |
{->}{\makebox[2\pprochar][r]{\char"E984}}2 | |
{..}{\makebox[2\pprochar][r]{\char"E990}}2 | |
{.>}{\makebox[2\pprochar][r]{\char"E993}}2 | |
{.~}{\makebox[2\pprochar][r]{\char"E994}}2 | |
{.=}{\makebox[2\pprochar][r]{\char"E995}}2 | |
{/*}{\makebox[2\pprochar][r]{\char"E9A0}}2 | |
{//}{\makebox[2\pprochar][r]{\char"E9A1}}2 | |
{/>}{\makebox[2\pprochar][r]{\char"E9A2}}2 | |
{/=}{\makebox[2\pprochar][r]{\char"E9A3}}2 | |
{::}{\makebox[2\pprochar][r]{\char"E9B0}}2 | |
{:=}{\makebox[2\pprochar][r]{\char"E9B1}}2 | |
{:≡}{\makebox[2\pprochar][r]{\char"E9B2}}2 | |
{:>}{\makebox[2\pprochar][r]{\char"E9B3}}2 | |
{:(}{\makebox[2\pprochar][r]{\char"E9B5}}2 | |
{:)}{\makebox[2\pprochar][r]{\char"E9B7}}2 | |
{:/}{\makebox[2\pprochar][r]{\char"E9B9}}2 | |
{:\\}{\makebox[2\pprochar][r]{\char"E9BA}}2 | |
{:3}{\makebox[2\pprochar][r]{\char"E9BB}}2 | |
{:D}{\makebox[2\pprochar][r]{\char"E9BC}}2 | |
{:P}{\makebox[2\pprochar][r]{\char"E9BD}}2 | |
{<*}{\makebox[2\pprochar][r]{\char"E9C1}}2 | |
{<-}{\makebox[2\pprochar][r]{\char"E9C4}}2 | |
{<<}{\makebox[2\pprochar][r]{\char"E9C5}}2 | |
{<=}{\makebox[2\pprochar][r]{\char"E9C8}}2 | |
{<>}{\makebox[2\pprochar][r]{\char"E9CA}}2 | |
{<|}{\makebox[2\pprochar][r]{\char"E9CD}}2 | |
{<~}{\makebox[2\pprochar][r]{\char"E9CF}}2 | |
{<\$}{\makebox[2\pprochar][r]{\char"E9D2}}2 | |
{<+}{\makebox[2\pprochar][r]{\char"E9D3}}2 | |
{<!}{\makebox[2\pprochar][r]{\char"E9E3}}2 | |
{<@}{\makebox[2\pprochar][r]{\char"E9E4}}2 | |
{<\#}{\makebox[2\pprochar][r]{\char"E9E5}}2 | |
{<\%}{\makebox[2\pprochar][r]{\char"E9E6}}2 | |
{<^}{\makebox[2\pprochar][r]{\char"E9E7}}2 | |
{<\&}{\makebox[2\pprochar][r]{\char"E9E8}}2 | |
{<?}{\makebox[2\pprochar][r]{\char"E9E9}}2 | |
{<.}{\makebox[2\pprochar][r]{\char"E9EA}}2 | |
{</}{\makebox[2\pprochar][r]{\char"E9EB}}2 | |
{<\\}{\makebox[2\pprochar][r]{\char"E9EC}}2 | |
{<"}{\makebox[2\pprochar][r]{\char"E9ED}}2 | |
{<:}{\makebox[2\pprochar][r]{\char"E9EE}}2 | |
{==}{\makebox[2\pprochar][r]{\char"EA01}}2 | |
{=>}{\makebox[2\pprochar][r]{\char"EA04}}2 | |
{=~}{\makebox[2\pprochar][r]{\char"EA05}}2 | |
{≡≡}{\makebox[2\pprochar][r]{\char"EA10}}2 | |
{>-}{\makebox[2\pprochar][r]{\char"EA20}}2 | |
{>=}{\makebox[2\pprochar][r]{\char"EA21}}2 | |
{>>}{\makebox[2\pprochar][r]{\char"EA22}}2 | |
{??}{\makebox[2\pprochar][r]{\char"EA40}}2 | |
{?~}{\makebox[2\pprochar][r]{\char"EA41}}2 | |
{?=}{\makebox[2\pprochar][r]{\char"EA42}}2 | |
{?>}{\makebox[2\pprochar][r]{\char"EA43}}2 | |
{?.}{\makebox[2\pprochar][r]{\char"EA45}}2 | |
{^=}{\makebox[2\pprochar][r]{\char"EA48}}2 | |
{^.}{\makebox[2\pprochar][r]{\char"EA49}}2 | |
{^?}{\makebox[2\pprochar][r]{\char"EA4A}}2 | |
{^>}{\makebox[2\pprochar][r]{\char"EA4E}}2 | |
{\\\\}{\makebox[2\pprochar][r]{\char"EA50}}2 | |
{\\>}{\makebox[2\pprochar][r]{\char"EA51}}2 | |
{@>}{\makebox[2\pprochar][r]{\char"EA57}}2 | |
{|=}{\makebox[2\pprochar][r]{\char"EA60}}2 | |
{||}{\makebox[2\pprochar][r]{\char"EA61}}2 | |
{|>}{\makebox[2\pprochar][r]{\char"EA62}}2 | |
{|-}{\makebox[2\pprochar][r]{\char"EA6D}}2 | |
{~=}{\makebox[2\pprochar][r]{\char"EA70}}2 | |
{~>}{\makebox[2\pprochar][r]{\char"EA71}}2 | |
{[[}{\makebox[2\pprochar][r]{\char"EA80}}2 | |
{]]}{\makebox[2\pprochar][r]{\char"EA81}}2 | |
{">}{\makebox[2\pprochar][r]{\char"EA90}}2 | |
{!==}{\makebox[3\pprochar][r]{\char"E902}}3 | |
{!!!}{\makebox[3\pprochar][r]{\char"E903}}3 | |
{!≡≡}{\makebox[3\pprochar][r]{\char"E905}}3 | |
{!=<}{\makebox[3\pprochar][r]{\char"E907}}3 | |
{\#\_(}{\makebox[3\pprochar][r]{\char"E926}}3 | |
{\%>\%}{\makebox[3\pprochar][r]{\char"E932}}3 | |
{\%<\%}{\makebox[3\pprochar][r]{\char"E933}}3 | |
{\&\&\&}{\makebox[3\pprochar][r]{\char"E947}}3 | |
{***}{\makebox[3\pprochar][r]{\char"E960}}3 | |
{+++}{\makebox[3\pprochar][r]{\char"E971}}3 | |
{++=}{\makebox[3\pprochar][r]{\char"E974}}3 | |
{-<<}{\makebox[3\pprochar][r]{\char"E982}}3 | |
{->>}{\makebox[3\pprochar][r]{\char"E985}}3 | |
{---}{\makebox[3\pprochar][r]{\char"E986}}3 | |
{-->}{\makebox[3\pprochar][r]{\char"E987}}3 | |
{-+-}{\makebox[3\pprochar][r]{\char"E988}}3 | |
{-\\/}{\makebox[3\pprochar][r]{\char"E989}}3 | |
{-|>}{\makebox[3\pprochar][r]{\char"E98A}}3 | |
{-<|}{\makebox[3\pprochar][r]{\char"E98B}}3 | |
{...}{\makebox[3\pprochar][r]{\char"E991}}3 | |
{..<}{\makebox[3\pprochar][r]{\char"E992}}3 | |
{/==}{\makebox[3\pprochar][r]{\char"E9A4}}3 | |
{///}{\makebox[3\pprochar][r]{\char"E9A5}}3 | |
{/**}{\makebox[3\pprochar][r]{\char"E9A6}}3 | |
{:::}{\makebox[3\pprochar][r]{\char"E9AF}}3 | |
{:=>}{\makebox[3\pprochar][r]{\char"E9B4}}3 | |
{:-(}{\makebox[3\pprochar][r]{\char"E9B6}}3 | |
{:-)}{\makebox[3\pprochar][r]{\char"E9B8}}3 | |
{:>:}{\makebox[3\pprochar][r]{\char"E9BE}}3 | |
{:<:}{\makebox[3\pprochar][r]{\char"E9BF}}3 | |
{<\$>}{\makebox[3\pprochar][r]{\char"E9C0}}3 | |
{<*>}{\makebox[3\pprochar][r]{\char"E9C2}}3 | |
{<+>}{\makebox[3\pprochar][r]{\char"E9C3}}3 | |
{<<<}{\makebox[3\pprochar][r]{\char"E9C6}}3 | |
{<<=}{\makebox[3\pprochar][r]{\char"E9C7}}3 | |
{<=>}{\makebox[3\pprochar][r]{\char"E9C9}}3 | |
{<|>}{\makebox[3\pprochar][r]{\char"E9CB}}3 | |
{<<-}{\makebox[3\pprochar][r]{\char"E9CC}}3 | |
{<=<}{\makebox[3\pprochar][r]{\char"E9CE}}3 | |
{<~~}{\makebox[3\pprochar][r]{\char"E9D0}}3 | |
{<<~}{\makebox[3\pprochar][r]{\char"E9D1}}3 | |
{<!>}{\makebox[3\pprochar][r]{\char"E9D4}}3 | |
{<@>}{\makebox[3\pprochar][r]{\char"E9D5}}3 | |
{<\#>}{\makebox[3\pprochar][r]{\char"E9D6}}3 | |
{<\%>}{\makebox[3\pprochar][r]{\char"E9D7}}3 | |
{<^>}{\makebox[3\pprochar][r]{\char"E9D8}}3 | |
{<\&>}{\makebox[3\pprochar][r]{\char"E9D9}}3 | |
{<?>}{\makebox[3\pprochar][r]{\char"E9DA}}3 | |
{<.>}{\makebox[3\pprochar][r]{\char"E9DB}}3 | |
{</>}{\makebox[3\pprochar][r]{\char"E9DC}}3 | |
{<\\>}{\makebox[3\pprochar][r]{\char"E9DD}}3 | |
{<">}{\makebox[3\pprochar][r]{\char"E9DE}}3 | |
{<:>}{\makebox[3\pprochar][r]{\char"E9DF}}3 | |
{<~>}{\makebox[3\pprochar][r]{\char"E9E0}}3 | |
{<<^}{\makebox[3\pprochar][r]{\char"E9E2}}3 | |
{<->}{\makebox[3\pprochar][r]{\char"E9EF}}3 | |
{<--}{\makebox[3\pprochar][r]{\char"E9F1}}3 | |
{<~<}{\makebox[3\pprochar][r]{\char"E9F2}}3 | |
{<|-}{\makebox[3\pprochar][r]{\char"E9F4}}3 | |
{<<|}{\makebox[3\pprochar][r]{\char"E9F5}}3 | |
{<-<}{\makebox[3\pprochar][r]{\char"E9F7}}3 | |
{<==}{\makebox[3\pprochar][r]{\char"E9FA}}3 | |
{==<}{\makebox[3\pprochar][r]{\char"EA00}}3 | |
{===}{\makebox[3\pprochar][r]{\char"EA02}}3 | |
{==>}{\makebox[3\pprochar][r]{\char"EA03}}3 | |
{=>>}{\makebox[3\pprochar][r]{\char"EA06}}3 | |
{=/=}{\makebox[3\pprochar][r]{\char"EA07}}3 | |
{=~=}{\makebox[3\pprochar][r]{\char"EA08}}3 | |
{≡≡≡}{\makebox[3\pprochar][r]{\char"EA11}}3 | |
{≡:≡}{\makebox[3\pprochar][r]{\char"EA12}}3 | |
{>>-}{\makebox[3\pprochar][r]{\char"EA23}}3 | |
{>==}{\makebox[3\pprochar][r]{\char"EA24}}3 | |
{>>>}{\makebox[3\pprochar][r]{\char"EA25}}3 | |
{>=>}{\makebox[3\pprochar][r]{\char"EA26}}3 | |
{>>^}{\makebox[3\pprochar][r]{\char"EA27}}3 | |
{>>|}{\makebox[3\pprochar][r]{\char"EA28}}3 | |
{>!=}{\makebox[3\pprochar][r]{\char"EA29}}3 | |
{>->}{\makebox[3\pprochar][r]{\char"EA2A}}3 | |
{???}{\makebox[3\pprochar][r]{\char"EA44}}3 | |
{^..}{\makebox[3\pprochar][r]{\char"EA4B}}3 | |
{^<<}{\makebox[3\pprochar][r]{\char"EA4C}}3 | |
{^>>}{\makebox[3\pprochar][r]{\char"EA4D}}3 | |
{\\/-}{\makebox[3\pprochar][r]{\char"EA52}}3 | |
{|||}{\makebox[3\pprochar][r]{\char"EA63}}3 | |
{|+|}{\makebox[3\pprochar][r]{\char"EA64}}3 | |
{|->}{\makebox[3\pprochar][r]{\char"EA65}}3 | |
{|=>}{\makebox[3\pprochar][r]{\char"EA67}}3 | |
{|>-}{\makebox[3\pprochar][r]{\char"EA69}}3 | |
{|<<}{\makebox[3\pprochar][r]{\char"EA6A}}3 | |
{||>}{\makebox[3\pprochar][r]{\char"EA6B}}3 | |
{|>>}{\makebox[3\pprochar][r]{\char"EA6C}}3 | |
{||-}{\makebox[3\pprochar][r]{\char"EA6E}}3 | |
{~~>}{\makebox[3\pprochar][r]{\char"EA72}}3 | |
{~>>}{\makebox[3\pprochar][r]{\char"EA73}}3 | |
{\_|\_}{\makebox[3\pprochar][r]{\char"EA97}}3 | |
{<**>}{\makebox[4\pprochar][r]{\char"E9E1}}4 | |
{<!--}{\makebox[4\pprochar][r]{\char"E9F0}}4 | |
{<==>}{\makebox[4\pprochar][r]{\char"E9F3}}4 | |
{<-->}{\makebox[4\pprochar][r]{\char"E9F8}}4 | |
{<<==}{\makebox[4\pprochar][r]{\char"E9F9}}4 | |
{==>>}{\makebox[4\pprochar][r]{\char"EA09}}4 | |
{|-->}{\makebox[4\pprochar][r]{\char"EA66}}4 | |
{|==>}{\makebox[4\pprochar][r]{\char"EA68}}4 | |
{[ERR]}{\makebox[5\pprochar][r]{\char"E385}}5 | |
{[BUG]}{\makebox[5\pprochar][r]{\char"E38A}}5 | |
{[INFO]}{\makebox[6\pprochar][r]{\char"E382}}6 | |
{[WARN]}{\makebox[6\pprochar][r]{\char"E383}}6 | |
{[TODO]}{\makebox[6\pprochar][r]{\char"E389}}6 | |
{[NOTE]}{\makebox[6\pprochar][r]{\char"E38B}}6 | |
{[HACK]}{\makebox[6\pprochar][r]{\char"E38C}}6 | |
{[MARK]}{\makebox[6\pprochar][r]{\char"E38D}}6 | |
{[ERROR]}{\makebox[7\pprochar][r]{\char"E380}}7 | |
{[DEBUG]}{\makebox[7\pprochar][r]{\char"E381}}7 | |
{[FATAL]}{\makebox[7\pprochar][r]{\char"E386}}7 | |
{[TRACE]}{\makebox[7\pprochar][r]{\char"E387}}7 | |
{[FIXME]}{\makebox[7\pprochar][r]{\char"E388}}7 | |
{[WARNING]}{\makebox[9\pprochar][r]{\char"E384}}9 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment