summaryrefslogtreecommitdiff
path: root/fonts/xcharter/tex/XCharter.sty
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/xcharter/tex/XCharter.sty')
-rw-r--r--fonts/xcharter/tex/XCharter.sty63
1 files changed, 58 insertions, 5 deletions
diff --git a/fonts/xcharter/tex/XCharter.sty b/fonts/xcharter/tex/XCharter.sty
index 0b90a171bb..1fe8b66ccc 100644
--- a/fonts/xcharter/tex/XCharter.sty
+++ b/fonts/xcharter/tex/XCharter.sty
@@ -3,8 +3,8 @@
%%
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{1.203}
-\def\filedate{2019/11/21}
+\def\fileversion{1.207}
+\def\filedate{2020/06/27}
\ProvidesPackage{XCharter}[\filedate\space v\fileversion]
@@ -12,8 +12,11 @@
\RequirePackage[T2A,LY1,T1]{fontenc}
\RequirePackage{textcomp}
+\RequirePackage{scalefnt} % only for \textruble
+\DeclareEncodingSubset{TS1}{XCharter-*}{0}
\IfFileExists{mweights.sty}{\RequirePackage{mweights}}{}
-\RequirePackage{etoolbox}
+\RequirePackage{etoolbox} %etoolbox loads etex.sty
+\RequirePackage{xstring,ifthen} % for \textfrac
\IfFileExists{fontaxes.sty}{
\RequirePackage{fontaxes}
\fa@naming@exception{figures}{{superior}{proportional}}{Sup}
@@ -44,8 +47,38 @@
\DeclareTextFontCommand{\textde}{\defigures}
\let\textdenominator\textde
}{}
-\providecommand*{\textfrac}[2]{%
- \textnu{#1}\kern0em\textfractionsolidus\kern0em\textde{#2}}
+\newcommand{\textfrac}[3][]{% like \textfrac[1]{7}{8}
+ \mbox{%
+ \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1]
+ {\textlf{#1}\kern.05em}{}%
+ \textsu{#2}% numerator
+ \StrRight{#2}{1}[\@digit@]%
+ % look for 1, 2, 3, 4, 7
+ \ifcase\@digit@% 0
+ \or% 1
+ \or\kern.03em% 2
+ \or\kern-.01em% 3
+ \or%\kern-.01em% 4
+ \or%\kern.01em% 5
+ \or\kern.01em% 6
+ \or\kern-.09em% 7
+ \fi%
+ \kern\XCh@foresolidus\textfractionsolidus\kern\XCh@aftsolidus%
+ \StrLeft{#3}{1}[\@digit@]%
+ % look for 1, 4, 5, 7
+ \ifcase\@digit@% 0
+ \or\kern -.02em% 1
+ \or\kern .01em% 2
+ \or\kern -.02em% 3
+ \or\kern -.08em% 4
+ \or\kern -.01em% 5
+ \or\kern -.03em% 6
+ \or\kern .02em% 7
+ \fi%
+ \textde{#3}% denominator [#3]
+ }%
+}
+
\DeclareRobustCommand{\lfstyle}{%
\not@math@alphabet\lfstyle\relax
\fontfamily{XCharter-TLF}\selectfont }
@@ -67,12 +100,16 @@
}
\let\orig@footnote=\thefootnote
\let\orig@makefnmark=\@makefnmark
+\def\XCh@foresolidus{-.02em}
+\def\XCh@aftsolidus{-.02em}
%\newif\ifXCh@babel
%\ifdefined\bbl@tempa \XCh@babeltrue\fi
\newif\if@XCh@scosf
\newif\if@XCh@srb
\def\XCharter@altone{1}% default is to use 1, not I
\newif\if@XCh@sups
+\DeclareOptionX{foresolidus}{\gdef\XCh@foresolidus{#1}}
+\DeclareOptionX{aftsolidus}{\gdef\XCh@aftsolidus{#1}}
\DeclareOptionX{lf}{\edef\XCharter@figurestyle{TLF}}
\DeclareOptionX{lining}{\edef\XCharter@figurestyle{TLF}}
\DeclareOptionX{oldstyle}{\edef\XCharter@figurestyle{TOsF}%
@@ -127,6 +164,22 @@
{\fontfamily{XCharter-TOsF}\fontshape{sc}\selectfont #1}%
}\fi% use OsF in small caps
+\DeclareRobustCommand{\textruble}{\rlap{\kern.03em\rule[.258em]{.1em}{.032em}}\rlap{\kern.03em\rule[.173em]{.41em}{.032em}}{\scalefont{.966}P}}
+
+\DeclareTextCommand{\textcircled}{TS1}[1]{%
+\hmode@bgroup
+ \ooalign{%
+ \hfil \raise .32ex\hbox {\fontencoding{T1}\fontseries{m}\fontshape{sc}\fontsize{7.5}{7.5}\selectfont \lowercase{#1}}\hfil \crcr
+ \char 79 %\textbigcircle
+ }%
+ \egroup}
+
+%\DeclareTextCommand{\textcircled}{TS1}[1]{\hmode@bgroup
+% \ooalign{%
+% \hfil \raise .37ex\hbox {\fontencoding{T1}\fontseries{m}\fontshape{sc}\fontsize{7.2}{7.2}\selectfont \lowercase{#1}}\hfil \crcr
+% \textbigcircle
+% }%
+% \egroup}
\if@XCh@sups %
\ifdefined\sufigures