summaryrefslogtreecommitdiff
path: root/macros/unicodetex/latex/fontsetup/fspgfsdidotot.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/unicodetex/latex/fontsetup/fspgfsdidotot.sty')
-rw-r--r--macros/unicodetex/latex/fontsetup/fspgfsdidotot.sty49
1 files changed, 49 insertions, 0 deletions
diff --git a/macros/unicodetex/latex/fontsetup/fspgfsdidotot.sty b/macros/unicodetex/latex/fontsetup/fspgfsdidotot.sty
new file mode 100644
index 0000000000..f8c312c02c
--- /dev/null
+++ b/macros/unicodetex/latex/fontsetup/fspgfsdidotot.sty
@@ -0,0 +1,49 @@
+
+\RequirePackage{fontspec}
+
+\setmainfont[ItalicFont=GFSOlga,
+ BoldFont=GFSDidotBold,
+ BoldItalicFont=GFSDidotBoldItalic,SlantedFont=GFSDidotItalic,
+ SmallCapsFeatures={Numbers=OldStyle}]{GFSDidot.otf}
+\newfontfamily{\GFSDidotoSubstFont}[%
+ ItalicFont=GFSDidotItalic,
+ BoldFont=GFSDidotBold,
+ BoldItalicFont=GFSDidotBoldItalic,
+ SmallCapsFeatures={Numbers=OldStyle}]{GFSDidot.otf}
+
+
+\RequirePackage{unicode-math}
+%\setmathfont{XITSMath-Regular.otf}
+\setmathfont{NewCMMath-Book.otf}
+\setmathfont[range=\mathup/{num,latin,Latin,greek,Greek}]{GFSDidot.otf}
+\setmathfont[range=\mathbfup/{num,latin,Latin,greek,Greek}]{GFSDidotBold.otf}
+\setmathfont[range=\mathit/{greek,Greek}]{GFSOlga.otf}
+\setmathfont[range=\mathit/{num,latin,Latin}]{GFSDidotItalic.otf}
+\setmathfont[range=\mathbfit/{num,latin,Latin,greek,Greek}]{GFSDidotBoldItalic.otf}
+
+%% the next code replaces non-existent Olga Latin with GFSDidotItalic Latin
+\XeTeXinterchartokenstate=1%
+\newXeTeXintercharclass\GFSDidotoSubst%
+\count255="0021%
+\loop\ifnum\count255<"0341%
+ \XeTeXcharclass\count255=\GFSDidotoSubst%
+ \advance\count255 by 1%
+\repeat%
+\XeTeXinterchartoks 0 \GFSDidotoSubst = {\begingroup\GFSDidotoSubstFont}%
+\XeTeXinterchartoks 4095 \GFSDidotoSubst = {\begingroup\GFSDidotoSubstFont}%
+\XeTeXinterchartoks \GFSDidotoSubst 0 = {\endgroup}%
+\XeTeXinterchartoks \GFSDidotoSubst 4095 = {\endgroup}%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%% Fix epsilons %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\AtBeginDocument{\renewcommand{\epsilon}{\textit{ε}}
+\renewcommand{\varepsilon}{\textsl{ε}}}
+%%%%%%%%% Fix phi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newfontfamily\phifix[Scale=1.2]{GFSDidotItalic.otf}
+\AtBeginDocument{\renewcommand{\phi}{\textrm{\phifix\char"03D5}}}
+%%%%%%%%% Fix theta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\AtBeginDocument{\renewcommand{\theta}{\textsl{θ}}
+\renewcommand{\vartheta}{\textit{θ}}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput