summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-08-06 21:18:19 +0000
committerKarl Berry <karl@freefriends.org>2020-08-06 21:18:19 +0000
commite1981db27b143bc77cb1f4de1a30453b7d2b2d0d (patch)
treee664212e59da182dee98a2df30bb759c586eb8b7 /Master/texmf-dist/tex
parent3196134656d1de13f4743539f0924b46c6b5c340 (diff)
xcharter (6aug20)
git-svn-id: svn://tug.org/texlive/trunk@56059 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-Sup.fd91
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TLF.fd151
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TOsF.fd151
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/TS1XCharter-TLF.fd18
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/TS1XCharter-TOsF.fd18
-rw-r--r--Master/texmf-dist/tex/latex/xcharter/newtx-xcharter-subs.tex17
6 files changed, 434 insertions, 12 deletions
diff --git a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-Sup.fd b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-Sup.fd
new file mode 100644
index 00000000000..45b834e3de1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-Sup.fd
@@ -0,0 +1,91 @@
+%% Generated by autoinst on 2020/08/05
+%%
+\ProvidesFile{T2ASRBXCharter-Sup.fd}
+ [2020/08/05 (autoinst) Font definitions for T2ASRB/XCharter-Sup.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname XCharter@scale\endcsname\relax
+ \let\XCharter@@scale\@empty
+\else
+ \edef\XCharter@@scale{s*[\csname XCharter@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T2ASRB}{XCharter-Sup}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{m}{sl}{
+ <-> \XCharter@@scale XCharter-Slanted-sup-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{regular}{sl}{
+ <-> alias * XCharter-Sup/m/sl
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{m}{n}{
+ <-> \XCharter@@scale XCharter-Roman-sup-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{regular}{n}{
+ <-> alias * XCharter-Sup/m/n
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{m}{it}{
+ <-> \XCharter@@scale XCharter-Italic-sup-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{regular}{it}{
+ <-> alias * XCharter-Sup/m/it
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{b}{n}{
+ <-> \XCharter@@scale XCharter-Bold-sup-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{bold}{n}{
+ <-> alias * XCharter-Sup/b/n
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{b}{sl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-sup-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{bold}{sl}{
+ <-> alias * XCharter-Sup/b/sl
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{b}{it}{
+ <-> \XCharter@@scale XCharter-BoldItalic-sup-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{bold}{it}{
+ <-> alias * XCharter-Sup/b/it
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{bx}{it}{
+ <-> ssub * XCharter-Sup/b/it
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{bx}{sl}{
+ <-> ssub * XCharter-Sup/b/sl
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-Sup}{bx}{n}{
+ <-> ssub * XCharter-Sup/b/n
+}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TLF.fd b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TLF.fd
new file mode 100644
index 00000000000..101c2f34a1a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TLF.fd
@@ -0,0 +1,151 @@
+%% Generated by autoinst on 2020/08/05
+%%
+\ProvidesFile{T2ASRBXCharter-TLF.fd}
+ [2020/08/05 (autoinst) Font definitions for T2ASRB/XCharter-TLF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname XCharter@scale\endcsname\relax
+ \let\XCharter@@scale\@empty
+\else
+ \edef\XCharter@@scale{s*[\csname XCharter@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T2ASRB}{XCharter-TLF}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{scit}{
+ <-> \XCharter@@scale XCharter-BoldItalic-tlf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{scit}{
+ <-> alias * XCharter-TLF/b/scit
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{it}{
+ <-> \XCharter@@scale XCharter-BoldItalic-tlf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{it}{
+ <-> alias * XCharter-TLF/b/it
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{sl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-tlf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{sl}{
+ <-> alias * XCharter-TLF/b/sl
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{n}{
+ <-> \XCharter@@scale XCharter-Bold-tlf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{n}{
+ <-> alias * XCharter-TLF/b/n
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{sc}{
+ <-> \XCharter@@scale XCharter-Bold-tlf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{sc}{
+ <-> alias * XCharter-TLF/b/sc
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{b}{scsl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-tlf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bold}{scsl}{
+ <-> alias * XCharter-TLF/b/scsl
+}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{scsl}{
+ <-> \XCharter@@scale XCharter-Slanted-tlf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{scsl}{
+ <-> alias * XCharter-TLF/m/scsl
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{sc}{
+ <-> \XCharter@@scale XCharter-Roman-tlf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{sc}{
+ <-> alias * XCharter-TLF/m/sc
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{sl}{
+ <-> \XCharter@@scale XCharter-Slanted-tlf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{sl}{
+ <-> alias * XCharter-TLF/m/sl
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{n}{
+ <-> \XCharter@@scale XCharter-Roman-tlf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{n}{
+ <-> alias * XCharter-TLF/m/n
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{scit}{
+ <-> \XCharter@@scale XCharter-Italic-tlf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{scit}{
+ <-> alias * XCharter-TLF/m/scit
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{m}{it}{
+ <-> \XCharter@@scale XCharter-Italic-tlf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{regular}{it}{
+ <-> alias * XCharter-TLF/m/it
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{sc}{
+ <-> ssub * XCharter-TLF/b/sc
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{sl}{
+ <-> ssub * XCharter-TLF/b/sl
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{n}{
+ <-> ssub * XCharter-TLF/b/n
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{scit}{
+ <-> ssub * XCharter-TLF/b/scit
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{it}{
+ <-> ssub * XCharter-TLF/b/it
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TLF}{bx}{scsl}{
+ <-> ssub * XCharter-TLF/b/scsl
+}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TOsF.fd b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TOsF.fd
new file mode 100644
index 00000000000..b4bd5c3dc49
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/xcharter/T2ASRBXCharter-TOsF.fd
@@ -0,0 +1,151 @@
+%% Generated by autoinst on 2020/08/05
+%%
+\ProvidesFile{T2ASRBXCharter-TOsF.fd}
+ [2020/08/05 (autoinst) Font definitions for T2ASRB/XCharter-TOsF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname XCharter@scale\endcsname\relax
+ \let\XCharter@@scale\@empty
+\else
+ \edef\XCharter@@scale{s*[\csname XCharter@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T2ASRB}{XCharter-TOsF}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{n}{
+ <-> \XCharter@@scale XCharter-Bold-tosf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{n}{
+ <-> alias * XCharter-TOsF/b/n
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{sl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-tosf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{sl}{
+ <-> alias * XCharter-TOsF/b/sl
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{sc}{
+ <-> \XCharter@@scale XCharter-Bold-tosf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{sc}{
+ <-> alias * XCharter-TOsF/b/sc
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{it}{
+ <-> \XCharter@@scale XCharter-BoldItalic-tosf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{it}{
+ <-> alias * XCharter-TOsF/b/it
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{scit}{
+ <-> \XCharter@@scale XCharter-BoldItalic-tosf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{scit}{
+ <-> alias * XCharter-TOsF/b/scit
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{b}{scsl}{
+ <-> \XCharter@@scale XCharter-BoldSlanted-tosf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bold}{scsl}{
+ <-> alias * XCharter-TOsF/b/scsl
+}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{scsl}{
+ <-> \XCharter@@scale XCharter-Slanted-tosf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{scsl}{
+ <-> alias * XCharter-TOsF/m/scsl
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{scit}{
+ <-> \XCharter@@scale XCharter-Italic-tosf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{scit}{
+ <-> alias * XCharter-TOsF/m/scit
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{it}{
+ <-> \XCharter@@scale XCharter-Italic-tosf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{it}{
+ <-> alias * XCharter-TOsF/m/it
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{sl}{
+ <-> \XCharter@@scale XCharter-Slanted-tosf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{sl}{
+ <-> alias * XCharter-TOsF/m/sl
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{sc}{
+ <-> \XCharter@@scale XCharter-Roman-tosf-sc-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{sc}{
+ <-> alias * XCharter-TOsF/m/sc
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{m}{n}{
+ <-> \XCharter@@scale XCharter-Roman-tosf-t2asrb
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{regular}{n}{
+ <-> alias * XCharter-TOsF/m/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{it}{
+ <-> ssub * XCharter-TOsF/b/it
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{scit}{
+ <-> ssub * XCharter-TOsF/b/scit
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{sc}{
+ <-> ssub * XCharter-TOsF/b/sc
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{sl}{
+ <-> ssub * XCharter-TOsF/b/sl
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{n}{
+ <-> ssub * XCharter-TOsF/b/n
+}{}
+
+\DeclareFontShape{T2ASRB}{XCharter-TOsF}{bx}{scsl}{
+ <-> ssub * XCharter-TOsF/b/scsl
+}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/xcharter/TS1XCharter-TLF.fd b/Master/texmf-dist/tex/latex/xcharter/TS1XCharter-TLF.fd
index c70ced78012..7a4a026191b 100644
--- a/Master/texmf-dist/tex/latex/xcharter/TS1XCharter-TLF.fd
+++ b/Master/texmf-dist/tex/latex/xcharter/TS1XCharter-TLF.fd
@@ -8,30 +8,36 @@
\edef\XCharter@@scale{s*[\csname XCharter@scale\endcsname]}%
\fi
+\expandafter\ifx\csname XCharter@altone\endcsname\relax
+ \let\XCharter@@altone\@empty
+\else
+ \edef\XCharter@@altone{\XCharter@altone}%
+\fi
+
\DeclareFontFamily{TS1}{XCharter-TLF}{}
\DeclareFontShape{TS1}{XCharter-TLF}{b}{it}{
- <-> \XCharter@@scale XCharter-BoldItalic-ts1
+ <-> \XCharter@@scale XCharter\XCharter@@altone-BoldItalic-ts1
}{}
\DeclareFontShape{TS1}{XCharter-TLF}{b}{sl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-ts1
+ <-> \XCharter@@scale XCharter\XCharter@@altone-BoldSlanted-ts1
}{}
\DeclareFontShape{TS1}{XCharter-TLF}{b}{n}{
- <-> \XCharter@@scale XCharter-Bold-ts1
+ <-> \XCharter@@scale XCharter\XCharter@@altone-Bold-ts1
}{}
\DeclareFontShape{TS1}{XCharter-TLF}{m}{n}{
- <-> \XCharter@@scale XCharter-Roman-ts1
+ <-> \XCharter@@scale XCharter\XCharter@@altone-Roman-ts1
}{}
\DeclareFontShape{TS1}{XCharter-TLF}{m}{sl}{
- <-> \XCharter@@scale XCharter-Slanted-ts1
+ <-> \XCharter@@scale XCharter\XCharter@@altone-Slanted-ts1
}{}
\DeclareFontShape{TS1}{XCharter-TLF}{m}{it}{
- <-> \XCharter@@scale XCharter-Italic-ts1
+ <-> \XCharter@@scale XCharter\XCharter@@altone-Italic-ts1
}{}
\DeclareFontShape{TS1}{XCharter-TLF}{bx}{it}{
diff --git a/Master/texmf-dist/tex/latex/xcharter/TS1XCharter-TOsF.fd b/Master/texmf-dist/tex/latex/xcharter/TS1XCharter-TOsF.fd
index 5014f62a871..fd6693037d6 100644
--- a/Master/texmf-dist/tex/latex/xcharter/TS1XCharter-TOsF.fd
+++ b/Master/texmf-dist/tex/latex/xcharter/TS1XCharter-TOsF.fd
@@ -8,30 +8,36 @@
\edef\XCharter@@scale{s*[\csname XCharter@scale\endcsname]}%
\fi
+\expandafter\ifx\csname XCharter@altone\endcsname\relax
+ \let\XCharter@@altone\@empty
+\else
+ \edef\XCharter@@altone{\XCharter@altone}%
+\fi
+
\DeclareFontFamily{TS1}{XCharter-TOsF}{}
\DeclareFontShape{TS1}{XCharter-TOsF}{b}{it}{
- <-> \XCharter@@scale XCharter-BoldItalic-ts1
+ <-> \XCharter@@scale XCharter\XCharter@@altone-BoldItalic-ts1
}{}
\DeclareFontShape{TS1}{XCharter-TOsF}{b}{sl}{
- <-> \XCharter@@scale XCharter-BoldSlanted-ts1
+ <-> \XCharter@@scale XCharter\XCharter@@altone-BoldSlanted-ts1
}{}
\DeclareFontShape{TS1}{XCharter-TOsF}{b}{n}{
- <-> \XCharter@@scale XCharter-Bold-ts1
+ <-> \XCharter@@scale XCharter\XCharter@@altone-Bold-ts1
}{}
\DeclareFontShape{TS1}{XCharter-TOsF}{m}{n}{
- <-> \XCharter@@scale XCharter-Roman-ts1
+ <-> \XCharter@@scale XCharter\XCharter@@altone-Roman-ts1
}{}
\DeclareFontShape{TS1}{XCharter-TOsF}{m}{sl}{
- <-> \XCharter@@scale XCharter-Slanted-ts1
+ <-> \XCharter@@scale XCharter\XCharter@@altone-Slanted-ts1
}{}
\DeclareFontShape{TS1}{XCharter-TOsF}{m}{it}{
- <-> \XCharter@@scale XCharter-Italic-ts1
+ <-> \XCharter@@scale XCharter\XCharter@@altone-Italic-ts1
}{}
\DeclareFontShape{TS1}{XCharter-TOsF}{bx}{it}{
diff --git a/Master/texmf-dist/tex/latex/xcharter/newtx-xcharter-subs.tex b/Master/texmf-dist/tex/latex/xcharter/newtx-xcharter-subs.tex
new file mode 100644
index 00000000000..e88ea8eb7c9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/xcharter/newtx-xcharter-subs.tex
@@ -0,0 +1,17 @@
+{f}{-2}
+{j}{-2}
+{p}{-1.5}
+{y}{-1.5}
+{A}{-1.5}
+{B}{-1}
+{D}{-1}
+{H}{-1}
+{I}{-1}
+{K}{-1}
+{L}{-1}
+{M}{-1}
+{N}{-0.5}
+{P}{-1}
+{X}{-1}
+{\rho}{-1}
+{\beta}{-1} \ No newline at end of file