summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/lualatex/simurgh/simurgh-fonts.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/simurgh/simurgh-fonts.sty')
-rw-r--r--Master/texmf-dist/tex/lualatex/simurgh/simurgh-fonts.sty128
1 files changed, 128 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/lualatex/simurgh/simurgh-fonts.sty b/Master/texmf-dist/tex/lualatex/simurgh/simurgh-fonts.sty
new file mode 100644
index 00000000000..d52b1cf8532
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/simurgh/simurgh-fonts.sty
@@ -0,0 +1,128 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{simurgh-fonts}[2013/12/01 v0.01a fonts]
+\newfontscript{Parsi}{arab}
+\newfontlanguage{Parsi}{FAR}
+\aliasfontfeatureoption{Numbers}{Arabic}{Parsi}
+\ExplSyntaxOn
+\DeclareDocumentCommand \setmainparsifont { O{} m } {
+ \fontspec_select:nn{Script=Parsi,Numbers=Parsi,Language=Parsi,#1}{#2}
+ \use:x {
+ \exp_not:N \DeclareRobustCommand \exp_not:N \parsimainfont {
+ \exp_not:N \fontencoding {\g_fontspec_encoding_tl}
+ \exp_not:N \fontfamily {\l_fontspec_family_tl} \exp_not:N \selectfont
+ }
+ }
+ \cs_set_eq:NN \rmdefault \l_fontspec_family_tl
+ \normalfont
+}
+\DeclareDocumentCommand \setmainlatinfont { O{} m } {
+ \fontspec_select:nn{Ligatures=TeX,#1}{#2}
+ \use:x {
+ \exp_not:N \DeclareRobustCommand \exp_not:N \latinmainfont {
+ \exp_not:N \fontencoding {\g_fontspec_encoding_tl}
+ \exp_not:N \fontfamily {\l_fontspec_family_tl} \exp_not:N \selectfont
+ }
+ }
+}
+\cs_set_eq:NN \setlatinsansfont \setsansfont
+\cs_set_eq:NN \setlatinmonofont \setmonofont
+\DeclareDocumentCommand \loadnewparsifont { m O{} m } {
+ \fontspec_select:nn{Script=Parsi,Numbers=Parsi,Language=Parsi,#2}{#3}
+ \use:x {
+ \exp_not:N \DeclareRobustCommand \exp_not:N #1 {
+ \exp_not:N \fontencoding {\g_fontspec_encoding_tl}
+ \exp_not:N \fontfamily {\l_fontspec_family_tl} \exp_not:N \selectfont
+ }
+ }
+}
+\DeclareDocumentCommand \loadnewlatinfont { m O{} m } {
+ \fontspec_select:nn{Ligatures=TeX,#2}{#3}
+ \use:x {
+ \exp_not:N \DeclareRobustCommand \exp_not:N #1 {
+ \exp_not:N \fontencoding {\g_fontspec_encoding_tl}
+ \exp_not:N \fontfamily {\l_fontspec_family_tl} \exp_not:N \selectfont
+ }
+ }
+}
+\newcommand\parsisfdefault{}
+\newcommand\parsittdefault{}
+\newcommand\iranicdefault{}
+\newcommand\navardefault{}
+\newcommand\pookdefault{}
+\newcommand\sayehdefault{}
+\DeclareRobustCommand\parsisffamily
+ {\not@math@alphabet\parsisffamily\mathparsisf
+ \fontfamily\parsisfdefault\selectfont}
+\DeclareRobustCommand\parsittfamily
+ {\not@math@alphabet\parsittfamily\mathparsitt
+ \fontfamily\parsittdefault\selectfont}
+\DeclareRobustCommand\iranicfamily
+ {\not@math@alphabet\iranicfamily\mathiranic
+ \fontfamily\iranicdefault\selectfont}
+\DeclareRobustCommand\navarfamily
+ {\not@math@alphabet\navarfamily\mathnavar
+ \fontfamily\navardefault\selectfont}
+\DeclareRobustCommand\pookfamily
+ {\not@math@alphabet\pookfamily\mathpook
+ \fontfamily\pookdefault\selectfont}
+\DeclareRobustCommand\sayehfamily
+ {\not@math@alphabet\sayehfamily\mathsayeh
+ \fontfamily\sayehdefault\selectfont}
+\DeclareTextFontCommand{\textparsisf}{\parsisffamily}
+\DeclareTextFontCommand{\textparsitt}{\parsittfamily}
+\DeclareTextFontCommand{\textiranic}{\iranicfamily}
+\DeclareTextFontCommand{\textnavar}{\navarfamily}
+\DeclareTextFontCommand{\textpook}{\pookfamily}
+\DeclareTextFontCommand{\textsayeh}{\sayehfamily}
+\DeclareDocumentCommand \setparsisansfont { O{} m } {
+ \fontspec_set_family:Nnn \parsisfdefault {Script=Parsi,Numbers=Parsi,Language=Parsi,#1}{#2}
+ \normalfont
+}
+\DeclareDocumentCommand \setparsimonofont { O{} m } {
+ \fontspec_set_family:Nnn \parsittdefault {Script=Parsi,Numbers=Parsi,Language=Parsi,#1}{#2}
+ \normalfont
+}
+\DeclareDocumentCommand \setnavarfont { O{} m } {
+ \fontspec_set_family:Nnn \navardefault {Script=Parsi,Numbers=Parsi,Language=Parsi,#1}{#2}
+ \normalfont
+}
+\DeclareDocumentCommand \setpookfont { O{} m } {
+ \fontspec_set_family:Nnn \pookdefault {Script=Parsi,Numbers=Parsi,Language=Parsi,#1}{#2}
+ \normalfont
+}
+
+\DeclareDocumentCommand \setsayehfont { O{} m } {
+ \fontspec_set_family:Nnn \sayehdefault {Script=Parsi,Numbers=Parsi,Language=Parsi,#1}{#2}
+ \normalfont
+}
+
+\DeclareDocumentCommand \setiranicfont { O{} m } {
+ \fontspec_set_family:Nnn \iranicdefault {Script=Parsi,Numbers=Parsi,Language=Parsi,#1}{#2}
+ \normalfont
+}
+\ExplSyntaxOff
+
+\def\reset@latinfont{%
+\let\normalfont\latinmainfont%
+\let\reset@font\normalfont%
+\latinmainfont}
+
+
+\def\reset@parsifont{%
+\let\normalfont\parsimainfont%
+\let\reset@font\normalfont%
+\parsimainfont}
+
+
+\simurgh@AtEndPreamble{%
+ \if@simurgh@csundef{parsimainfont}{%
+ \simurgh@error{choose the main parsi font}{}}%
+ {}%
+}
+
+
+
+% this is not good at all; it requires heaps of improvements
+\setmainlatinfont[ExternalLocation,BoldFont={lmroman10-bold},BoldItalicFont={lmroman10-bolditalic},ItalicFont={lmroman10-italic},SmallCapsFont={lmromancaps10-regular},SlantedFont={lmromanslant10-regular},BoldSlantedFont={lmromanslant10-bold}]{lmroman10-regular}
+
+\endinput \ No newline at end of file